Undo.RegisterCreatedObjectUndo

マニュアルに切り替える
public static void RegisterCreatedObjectUndo (Object objectToUndo, string name);

パラメーター

objectToUndo作成されたオブジェクト
nameメニューに表示される "Undo ...." のアクション名

説明

新しくオブジェクトを生成するときの Undo 操作を登録します

この Undo を実行したときオブジェクトは削除されます。すべての新しく生成したオブジェクトはこの関数を使用して Undo 可能な状態にするべきです。

メモ: オブジェクトの破棄は(遅延以外は) Object.Destroy と同様に実行されます。つまり、ゲームオブジェクトは子オブジェクトとともに破棄される事になります。

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