【Unity】TimelineのUndo処理

何かしらClipを操作するEditor拡張を作る場合に変更を取り消したい場合があるかと思います。 その場合、Undo処理を実装すれば Command + Z で簡単に戻すことができます。

UndoExtensions

通常のEditor拡張ですがUndoクラスを使うのですが、Timeline周りではUndoExtensionsに色々と便利な処理が準備されています。

docs.unity3d.com

例えば、clipの場合には UndoExtensions.RegisterClip を利用します。 clipを操作する「何かしらの処理」の前に呼びます。

UndoExtensions.RegisterClip(clip,"Edit clip");

// 何かしらの処理

TrackやMakerにも専用の関数が用意されています。