Clone/duplicate an existing GameObject and its children

Stephen Docy picture Stephen Docy · Jan 27, 2018 · Viewed 15k times · Source

Is there a C# way in Unity to duplicate an existing GameObject and all of its children? In my case, I have an empty GameObject with a number of Text objects as children and I would like to create a copy of them all, including relative positions, text values, font, colors, etc....

Prefabs won't work easily because I want to copy the object including its current state.

Answer

Programmer picture Programmer · Jan 27, 2018

The Instantiate function is used to clone any GameObject and its hierarchy.

public GameObject rootObj;

void Start()
{
    GameObject duplicate = Instantiate(rootObj);
}