IEnumerator StartTheMoves() { for (int i = 1; i < moves.Count + 1; i++) { FindDiscToMove(moves[i].moveFrom, moves[i].moveTo); UImanager.moves.text = "Moving Disc " + discToMove.GetComponent <DiscScript>().discSize + " " + moves[i].moveFrom + " " + moves[i].moveTo; yield return(StartCoroutine(GoToNextPosition(discToMove, doorExit.position))); yield return(StartCoroutine(GoToNextPosition(discToMove, doorEntry.position))); yield return(StartCoroutine(GoToNextPosition(discToMove, posToMoveDisc))); } Debug.Log("complete!!"); UImanager.HideMoves(); UImanager.ShowCompletedPanel(); }