MRが楽しい

MRやVRについて学習したことを書き残す

Questアプリでアプリ内からアプリを終了する

本日はUnityの小ネタ枠です。
Questアプリでアプリ内からアプリを終了する方法についてです。

Application.Quit()

Application.Quit()はアプリケーションを終了する静的メソッドです。
Questアプリで本メソッドを呼び出すとアプリが即座に終了してホーム画面に戻ります。
docs.unity3d.com

サンプルスクリプト

以下の別ウィンドウを開くと同時にアプリを終了するサンプルスクリプトを作成しました。
・FocusExitCheck.cs

using TMPro;
using UnityEngine;

public class FocusExitCheck : MonoBehaviour
{
    [SerializeField]
    private TMP_Text messageText;
    
    /// <summary>
    /// フォーカス変更時のイベント
    /// </summary>
    /// <param name="focus"></param>
    private void OnApplicationFocus(bool focus)
    {
        // フォーカスを失ったときにアプリを終了する
        if (focus == false)
        {
            Application.Quit();
        }
    }
}

スクリプトを設定したプロジェクトをビルドしてQuest3へのデプロイします。

アプリ内でコントローラのQuestボタンを押下すると以下の通りアプリが終了してホーム画面に戻ります。