Version: 2017.2


Switch to Manual
public static void RegisterCreatedObjectUndo (Object objectToUndo, string name);


objectToUndo The object that was created.
name The name of the action to undo. Think "Undo ...." in the main menu.


Register an undo operations for a newly created object.

When the undo is performed the object will be destroyed. All newly created objects that are part of undoable state should be registered with this function.

Note: Object destruction works the same way as it does for Object.Destroy (except for the delay). This means that GameObjects will be destroyed along with all their child GameObjects.

// Creates a new game object as an operation that can be undone

using UnityEditor; using UnityEngine;

class CreateGameObjectMenu { [MenuItem ("Example/Create GameObject")] static void CreateGameObject () { // Create GameObject hierarchy. GameObject go = new GameObject ("my GameObject"); GameObject child = new GameObject(); go.transform.position = new Vector3 (5, 5, 5); child.transform.parent = go.transform;

// Register root object for undo. Undo.RegisterCreatedObjectUndo (go, "Create object"); } }