ノートの端の書き残し

UnityやらC#やら。設計が得意かもしれない。

Unityでいろんなオブジェクトを一括で削除する際に、Undoのスタックが溢れて死ぬ

辛い思いをしたので備忘録です。

例えば、編集中は必要だけどゲーム実行時には不要なオブジェクトを、アセットバンドルビルド前に消したいとか思ったとします。
タイムラインの開発で紆余曲折あって結局ミュートにしちゃったトラックとか。

それをアセバンビルド前に検索して削除しようとするのは普通だと思いますが、あまりに大量のクリップやトラックを一気に削除しようとすると、なんかNative Crashとか言われてUnityが死にます。

この場合、オブジェクトの生成削除についてのUndo用の履歴が溢れている可能性があります。

自動化している場合はどうせUndoなんてしないんだから

Undo.ClearAll();

を小まめに呼んであげて、履歴が溢れないように気をつけましょう。