private void GenDebree() { GameObject[] rockOptions = new GameObject[] { Resources.Load<GameObject>("RockA"), Resources.Load<GameObject>("RockB"), Resources.Load<GameObject>("RockC")}; int numberOfSpawns = (_geoWalls.Count * 6); for (int i = 0; i < numberOfSpawns; i++) { GameObject floorPanel = _geoWalls.SelectRandom(); var original = rockOptions.SelectRandom(); var geo = Instantiate(original, floorPanel.transform.position, Quaternion.identity) as GameObject; float randomX = Random.Range(-0.5f, 0.5f); float randomZ = Random.Range(-0.5f, 0.5f); geo.transform.parent = transform; Vector3 newPosition = new Vector3() { x = floorPanel.transform.localPosition.x + randomX, y = floorPanel.transform.localPosition.y - 0.5f, z = floorPanel.transform.localPosition.z + randomZ }; geo.transform.localPosition = newPosition; geo.name = "GeneratedProp"; } }