Unity add child to children, but at top

2019-06-17 05:10发布

问题:

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

回答1:

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


回答2:

There is a dedicated method:

transform.SetAsFirstSibling();