I am trying to add a child object to a collection of children, but I want to make sure the the latest will be the first.
Here is what I am trying to do:
GameObject
- (My new object here)
- GameObject
- GameObject
- GameObject
Here is the code I am using to instantiate my prefab:
GameObject messageObj = Instantiate(storyPrefab) as GameObject;
messageObj.name = "Story";
messageObj.transform.parent = wallGrid.transform;
messageObj.transform.localScale = new Vector3(1,1,1);
Hope this makes sense.
Any help is apreciated and thanks in advance :-)
The simplest method of creating a child is to use Unity's hierarchy on the left side of the screen. Click on a GameObject and drag it to another GameObject.
If you want to add a gameObject (which is currently inside the hierarchy) to a prefab as its (prefab's) child then you need to drag the prefab into the scene (which will also appear in the hierarchy) and then drag that gameObject into the prefab(which is inside the scene/hierarchy) ie. make a child.
You can change the order in the hierarchy using Transform.SetSiblingIndex.
So basically you'd want to set the first index to your desired element:
messageObj.transform.SetSiblingIndex(0);
There is a dedicated method:
transform.SetAsFirstSibling();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With