スクリプトからエディタの実行を停止・一時停止する方法

基本的にはエディタ上のボタンで実行の停止や一時停止をすればいいのですが、スクリーンショットを撮るためにある処理が実行された瞬間にポーズしたかったので、手作業で一時停止ボタンを押すのは無理だった。

そこで、スクリプトからエディタの実行を一時停止する方法を調べたので備忘録として。
ついでに一時停止だけではなく停止(終了)も。

どちらも非常に簡単で、一行で書けます。

一時停止はこれ。

UnityEditor.EditorApplication.isPaused = true;

停止(終了)はこれ。

UnityEditor.EditorApplication.isPlaying = false;

ちなみにこれを書いた状態でiOSなどにビルドすると、

The type or namespace name `EditorApplication’ does not exist in the namespace `UnityEditor’. Are you missing an assembly reference?

というエラーが出る。

UnityEditor.〜 はUnityエディタ上でしか動作しないので、プリプロセッサを使って以下のようにUnityエディタ上でのみコンパイルされるようにすればOK。
 

#if UNITY_EDITOR
  UnityEditor.EditorApplication.isPaused = true;
#endif

コメント