脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

UnityのApplication.Quit()がWindows環境でフリーズしたりしなかったりする

Application.Quit()によるアプリのフリーズ

Unityのversionを5.3.6p1にあげたところ、Application.quit()が動いたり動かなかったりするようになってしまいました
動かないときはアプリ自体がフリーズして最終的にはクラッシュしてしまいます

調べてみると色々なversionで多くの人が同じ問題に遭遇しているらしいのですが、根本的な原因に関しての記述は見つかりませんでした。

対応策も人によって様々なのですが、自分がうまくいった方法は、Application.quit()後すぐにreturnして、明示的にそれ以降の処理をスキップさせる方法です

void Update ()
{
    if (終了させるためのトリガー){
        Application.Quit();
	return;
    }

    // 以降いろんな処理
}

これでいまのところは正常に動いています。