Unity add child to children, but at top

Mansa picture Mansa · Mar 19, 2016 · Viewed 12.5k times · Source

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 :-)

Answer

dabadaba picture dabadaba · Mar 19, 2016

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);