IEnumerator GenerateMeshLoop() { while (true) { grid.UpdateGridValues(); //Don't update both on the same frame after the init if (Time.timeSinceLevelLoad > 0.1f) { yield return(null); } GenerateMesh(); yield return(new WaitForSeconds(generateMeshInterval)); } }