- Home /
Instantiating from an object that's in an array
Hi there, basically what I want to do is to instantiate a platform from the position of an object that's in an array.
Psuedocode
var platform : Transform;
var g:GameObject[];
Instantiate (platform, g[5].position, g[5].rotation);
That's the general idea I had, but trying it out just threw up the error that it has a null reference (NullReferenceException: Object reference not set to an instance of an object) even though you can see the GameObject at position 5 in the array quite clearly on the screen.
Is there anyway of doing this?
Thanks
Answer by clunk47 · Sep 09, 2013 at 04:48 PM
Position 5 will be of index 4, since indexes start at 0. Try g[4]. Also check to be sure your indexed object is not null. If it is, send a message to the log. Also, be sure to use a new instance of your object by using some "Clone". You also need to use the Transform of g[4] in order to get its position, since it is a GameObject.
if(g[4] != null)
{
var Clone = Instantiate (platform, g[4].transform.position, Quaternion.identity);
}
else if(g[4] == null)
{
Debug.Log("g[4] doesn't seem to be assigned!");
}
Worked great, I think the problem was that I hadn't added the "transform.position" to the position variable in the Instantiate part.
Your answer
Follow this Question
Related Questions
Instantiate Game Object on Array of Transforms 1 Answer
How do I create an array for multiple targets? 1 Answer
Instantiate as a child at position 2 Answers
Instantiate from array into array? 2 Answers