IEnumerator SpawnObject() { while (true) { PooledObject prefab = pooledList[Random.Range(0, pooledList.Length)]; PooledObject objectSpawned; if (prefab.CompareTag("Field")) { radius = OrbitGrid.orbitDistance * Random.Range(1, spawnOrbit); } desiredPosition = (new Vector3(Random.Range(-1f, 1f), Random.Range(-1f, 1f), 0)).normalized * radius + centerObject.transform.position; if (prefab) { objectSpawned = prefab.GetPooledInstance <PooledObject>(); objectSpawned.transform.position = desiredPosition; } yield return(new WaitForSeconds(timeBetweenSpawn)); } }