【Unityの話】AplicationQuitでクラッシュ
備忘録。
解決した問題
・ゲーム内からゲームを終了すると一部のPCはフリーズするエラー
終了操作を行った状態でゲームがフリーズして最終的には強○終了に。
ちなみにこのエラーは開発環境PCでは発生せず、古いPCの方で発生した。
このエラーの正体はTextMeshProによるもので
プログラムの設計ミスでもなく、エディターのバージョンでもなく、
TMPとAplicationQuitを使うことで発生する問題でした。
ここでポイントになるのがフォントアセットクリエイターの解像度。
これが4096x4096以上だと確定でクラッシュします。
2048x2048にすることで正常に終了することができます。
ユーザー側の他の解決方法としては
①ウィンドウモードのバツボタンからゲームを終了
②Alt+F4でゲームを終了
あとタスクマネージャーから強○的に終了することも可能。
開発者側の解決方法は
①TextMeshProを使わない
②AplicationQuitを使わない
③フォントアセットの解像度を2048x2048以下にする
④TMP代替アセットを使う(未検証)
結論
フォントアセットの解像度はできる限り低めに設定した方がいい。
エディターのバージョンもちゃんとチェックすること。