この記事でのバージョン
Unity 2017.2.0f3
はじめに
Unityでは無限ループに陥ってしまった時にそれを止める術がありません。
頻繁に起こる事ではないとは言え、やっぱり無限ループが起きても停止出来るようにしたいですよね?
今回はそんな悩みを解消するアセット、Panic Buttonのご紹介です!
Panic Button - Asset Store |
Panic Button
使い方は簡単、Asset Storeからインストールし、無限ループが発生したらShift + Escを押すだけ。
![]() |
![]() |
試しに無限ループを故意に起こして止めてみると、
以下のような感じでしっかり停止され、ついでにエラーログも出ます。
private void Start () { //無限ループ!! while (true) {} }
![]() |
余談ですが、実際に使うライブラリの他に元のソースコードも付いてたりします。
![]() |
------------追記
注意点
実際のプロジェクトでPanic Buttonを使ってみたんですが、
ビルド時にたまにエラーが出るようになりました(出ない時もある)。
なので、Panic Buttonのディレクトリを削除した所、
今度はエディタ上でも実行時にエラーが出るようになり、もちろんビルドも出来ません。
System.IO.FileNotFoundException:Could not load file or assembly Dezgo_PanicButton_merged
![]() |
これの原因は、Panic Buttonが他のdllファイルをプロテクトしている事でした。
(最初のビルド失敗も恐らくこれが原因)
プロテクトはPanic Buttonインストール時に出る以下のポップアップでNoを選べば無効になります。
![]() |
また一度プロテクトする設定にしても、
Edit -> Panic Button Setting の Protect all DLLsからチェックを外せば無効に出来ます。
![]() |
![]() |
------------追記おわり