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.
#pragma strict // Creates a new game object as an operation that can be undone class CreateGameObjectMenu { @MenuItem("Example/Create GameObject") static function CreateGameObject() { // Create GameObject hierarchy. var go: GameObject = new GameObject("my GameObject"); var child: GameObject = 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"); } }
// 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"); } }