環境
- Unity 2019.4.3f1
実装例
終了のイベントをフックして、非同期な後処理を呼びつつイベント自体はキャンセルし、後処理が終わったらそのままアプリが終了するようにします。
void Start() { Application.wantsToQuit += Application_wantsToQuit; } private bool Application_wantsToQuit() { CleanUp(); return false; } bool cleanuping; async void CleanUp() { if (!cleanuping) { try { cleanuping = true; Debug.Log("Disposing ..."); // 何か非同期な後処理 } catch (Exception e) { Debug.LogError(e.Message); } } Application.wantsToQuit -= Application_wantsToQuit; Application.Quit(); }