Hi, when I instantiate a gameobject that I have created dynamically, e.g.
var p : GameObject = GameObject.Instantiate(new GameObject("CarrierControl"), Vector3.zero, Quaternion.identity);
there seems to be 2 instances created - “New Game Object” and “New Game Object(Clone)”.
At the moment it isn’t a problem as I only have a few, but later on when I’m creating more, with lots of components attached, it could get to be a problem.
Anybody got any idea why this is happening? It doesn’t happen when instantiating prefabs, only dynamically created objects.
“New Game Object” is your new GameObject(“CarrierControl”)
“New Game Object(Clone)” is your Instantiate
So, pick a method. Do you want to create an object from an object referenced in that script, or do you want to create a new one and add components to it?
just drop the ‘new GameObject(“CarrierControl”)’ from your code and use the prefab variable instead:
public Transform prefabToCopy; //maybe assigned from your resources to your script in the component editor, or from resources from within the script
private Transform prefabToSpawn;
prefabToSpawn = Instantiate(prefabToCopy, Vector3.zero, Quaternion.identity);