Version: 2019.2

Undo.RegisterCreatedObjectUndo

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

Parameters

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

Description

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