IEnumerator UpdatePlenetTextures() { //hold time for generastion to conclude to help ensure everything is generated. yield return(new WaitForSecondsRealtime(5)); Debug.Log("Updating Planets Started"); int size = planets.Count; int wcount = 0; for (int i = 0; i < size; i++, wcount++) { PlanetGenerator tmp = planets[i].GetComponent <PlanetGenerator>(); if (tmp == null) { i -= 1; //yield return new WaitForSecondsRealtime(0.5f); } else { i += tmp.GenerateFullTexture(); } if (wcount > 4) { //yield return new WaitForSecondsRealtime(0.5f); wcount = 0; } } Debug.Log("Finished Calling Planets updates"); Time.timeScale = 1; }