いろいろ詰まったためメモしておきます. Questでのアプリ開発でアプリを終了したときに何かの処理をしたいと思うことが多々あるかと思います. (間違えている可能性もがあるため,コメントまたはtwitterのDMにてご指摘等お待ちしています)
環境
- Unity 2019.4.5f1
- Oculus XR Plugin 1.7.0
- XR Plugin Management 3.2.16
- Oculus Integration 25.0
挙動まとめ表
関数名 | UI表示[1] | 時間経過[2] | アプリ終了 |
---|---|---|---|
OnApplicationFocus(bool hasFocus) |
変化なし | true → false | true → false |
OnApplicationPause(bool pauseStatus) |
false → true | 変化なし | false → true |
[1] Oculusボタンを押してメニュー画面を出した状態
[2] HMDを外してHMDが非アクティブになった状態
またそれぞれの関数のEventStatusの初期値は以下の通りです.
- OnApplicationFocus(bool hasFocus) : true
- OnApplicationPause(bool pauseStatus) : false
その他の関数の挙動
OnDestroy()
呼ばれなかったOnApplicationQuit()
呼び出されなかった
追記 以下のサイトより,Oculus Goの時代から残る問題として上記の二つが呼ばれない問題が残っているそうです. forum.unity.com