Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


DuplicateGameObject

Duplicates a single GameObject and returns the new GameObject.
Read time 2 minutesLast updated 12 days ago

Definition

  • Type: Method
  • Namespace: UnityEditor
  • Assembly: UnityEditor.CoreModule

DuplicateGameObject(GameObject)

Duplicates a single GameObject and returns the new GameObject.
public static GameObject DuplicateGameObject(GameObject gameObject)

Parameters

gameObject

The GameObject to be duplicated.

Returns

Type

Description

GameObjectThe duplicated GameObject.

Remarks

Duplicates a GameObject within a Scene. The duplicated GameObject will be on the same level in the hierarchy as the original GameObject, and they will share the same parent. If there are any children or components that belong to the original GameObject, the duplicate will have them as well.
For duplicating more than one GameObject use GameObjectUtility.DuplicateGameObjects. For duplicating Assets use CopyAsset.
using UnityEngine;using UnityEditor;public static class DuplicateGameObjectExample{ // Create context menu [MenuItem("Example/DuplicateGameObject")] public static void DuplicateTest() { // The original GameObject GameObject gameObject = new GameObject(); // The duplicated GameObject GameObject duplicatedGameObject = GameObjectUtility.DuplicateGameObject(gameObject); // Display the names of the original and duplicated GameObjects in the console Debug.Log("The original GameObject: " + gameObject.name); Debug.Log("The duplicated GameObject: " + duplicatedGameObject.name); }}
Any errors and warnings from the duplication operation are reported in the log and the console.

DuplicateGameObject(GameObject, bool)

Duplicates a single GameObject and returns the new GameObject.
public static GameObject DuplicateGameObject(GameObject gameObject, bool recordUndo)

Parameters

gameObject

The GameObject to be duplicated.

recordUndo

If true, the user will be able to Undo this action.

Returns

Type

Description

GameObjectThe duplicated GameObject.

Remarks

Duplicates a GameObject within a Scene. The duplicated GameObject will be on the same level in the hierarchy as the original GameObject, and they will share the same parent. If there are any children or components that belong to the original GameObject, the duplicate will have them as well.
For duplicating more than one GameObject use GameObjectUtility.DuplicateGameObjects. For duplicating Assets use CopyAsset.
using UnityEngine;using UnityEditor;public static class DuplicateGameObjectExample{ // Create context menu [MenuItem("Example/DuplicateGameObject")] public static void DuplicateTest() { // The original GameObject GameObject gameObject = new GameObject(); // The duplicated GameObject GameObject duplicatedGameObject = GameObjectUtility.DuplicateGameObject(gameObject); // Display the names of the original and duplicated GameObjects in the console Debug.Log("The original GameObject: " + gameObject.name); Debug.Log("The duplicated GameObject: " + duplicatedGameObject.name); }}
Any errors and warnings from the duplication operation are reported in the log and the console.