// Update is called once per frame void Update() { spawnTime -= Time.deltaTime; if (spawnTime <= 0) { Vector3 spawnPoint = volume.SpawnPoint(); for (int i = 0; i < spawnedInstances.Count; i++) { if (spawnedInstances[i] == null) { spawnedInstances.RemoveAt(i); i--; } } if (spawnedInstances.Count < maximumSpawns) { spawnedInstances.Add(Instantiate(instantiable, spawnPoint, new Quaternion())); } spawnTime += Random.Range(spawnTimer - spawnTimerRange, spawnTimer + spawnTimerRange); } }