コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】無限ループで Unity がフリーズしても操作を回復できる「Panic Button」紹介($16.20)

概要

2015/7/21 に、エディタ拡張用のアセット
「Panic Button」がリリースされました

「Panic Button」を導入すると、
無限ループで Unity エディタがフリーズしても操作を回復できるようになります

検証環境

  • Unity 5.6.2f1
  • Panic Button 1.2.3

使い方

using UnityEngine;

public class Example : MonoBehaviour
{
    private void Awake()
    {
        while ( true )
        {
        }
    }
}

例えば上記のようなスクリプトを使用してしまうと、
無限ループにハマって Unity がフリーズしてしまいますが、
「Panic Button」を導入している場合、
「Shift + Esc」キーを押すことで Unity のフリーズを抜け出すことができます

f:id:baba_s:20170906152646p:plain

また、フリーズを抜け出した後に
Console ウィンドウに問題が発生したスクリプトの該当箇所が表示されるため、
すぐに問題のあるスクリプトを修正することも可能です

設定

f:id:baba_s:20170906152925p:plain

Unity メニューの「Edit>Panic Button Settings」を選択すると
設定変更ウィンドウが開きます

f:id:baba_s:20170906153406p:plain

「Hotkey」の項目で、フリーズから抜け出す時に使用するショートカットキーを変更できます

また、「Enable Auto-abort?」にチェックを入れておくと
一定時間フリーズが続いた場合(デフォルトでは30秒)に、
自動でフリーズから抜け出してくれます

「Max Seconds」で、フリーズから自動で抜け出す時間(秒)を設定できます

関連記事