ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

20220329162023

Unity入門 - 無限ループが起きた場合の対処法 -

初めに

f:id:fineworks_fine:20220212144030p:plain:w320

 反復処理を利用する場合、ちゃんと確認せずに実行すると無限ループが起こり、Unityがフリーズしてしまいます。その場合の対処法をまとめておきます。

反復処理について

 C#では、繰り返し処理をする必要があるものに、while文やfor文、foreach文など反復処理をします。詳しくは以前、記事にまとめておりますので、ぜひご覧ください。
fineworks-fine.hatenablog.com

対処法

 対処法は次の3つです。

  1. Unityを強制終了させる
  2. Emergency Exitというアセットを入れておく
  3. Vidual Studioのステートメントの設定から抜け出す操作をする

 ひとつずつ解説いたします。

Unityを強制終了する

 Windowsの場合はタスクマネージャーから、Macの場合はアクティビティモニタからUnityを強制終了できます。

Windows:タスクマネージャーから

  1. Ctrl + Alt + Delを押す
  2. タスクマネージャーをクリック
  3. Unity Editorを右クリックし、タスクの終了をクリック

Macアクティビティモニタの開き方
 リンク先をご覧ください。
www.fonepaw.com

 Unityを強制終了させるわけなので、保存していない部分はすべて消えてしまいます。保存してからプレイする習慣を身に着けておきましょう。

Emergency Exitというアセットを入れておく

 アセットストアにEmergency Exitというアセットが販売されています。それをUnityに導入すると、誤って無限ループが起きたとしても、Ctrl + Shift + Qで無限ループを止められるようになります。

assetstore.unity.com

 値段は約5.5ドルです。自分のお財布に合わせてご検討ください。

〇アセットの導入の仕方
 こちらにアセットストアの使い方から導入の仕方まで解説しております。ぜひ、ご覧ください。

fineworks-fine.hatenablog.com

Vidual Studioのステートメントの設定から抜け出す操作をする

 スクリプトの記述に、Vidual Studioなどデバッガーがあるエディタを使用している場合、コードをスキップさせることができるものがあります。
 Vidual Studioでのコードスキップの仕方はリンク先にまとめてありますので、こちらをご覧ください。
docs.microsoft.com

Panic Buttonについて

 数年前までは、無限ループを抜けるためのアセットとして、Panic Buttonが有名でした。しかし、現在は購入できないようです。すでに、購入している方は、コピーをダウンロードすることは可能なようです。

assetstore.unity.com

最後に

 無限ループが起きた場合の対処法を解説いたしました。基本的には、無限ループを起こさないようにスクリプトを書いておく、実行する前は保存を徹底することが最も重要だと思います。