Undo.RegisterCreatedObjectUndo
static function RegisterCreatedObjectUndo(objectToUndo: Object, name: string): void;
static void RegisterCreatedObjectUndo(Object objectToUndo, string name);
static def RegisterCreatedObjectUndo(objectToUndo as Object, name as string) as void
Parameters

objectToUndo The object that was created.
name The 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.
// 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 () { GameObject go = new GameObject ("my GameObject"); go.transform.position = new Vector3 (5, 5, 5); go.RegisterCreatedObject (go, "Create object"); } }
no example available in C#
no example available in Boo