本日はUnityの小ネタ枠です。
Questアプリで起動時の読み込み中スクリーンをパススルーで表示する方法です。
Questアプリの読み込み中スクリーン
Questアプリを起動すると通常、以下の2種類のスクリーンが実行されます。
・読み込み中スクリーン
・スプラッシュスクリーン
読み込み中スクリーンは通常アプリ起動時に黒い背景に3点ドットで表示されます。
developers.meta.com
スプラッシュスクリーンは読み込み中スクリーン後にアプリで設定された2D画像などが表示されます。
Unityで開発されたアプリケーションはデフォルトだとUnityロゴが表示されます。
developers.meta.com
今回は読み込み中スクリーンをパススルーに設定し、スプラッシュスクリーンを無効化することでQuestメニューからアプリ起動までを一貫してパススルーで表示してみます。
読み込み中スクリーンをパススルーに設定する
読み込み中スクリーンをパススルーに設定するにはコンフィグファイルへの設定が必要です。
以下のコンフィグファイルを開きます。
Assets/Oculus/OculusProjectConfig.asset

[System Plash Screen Background]の設定を[Passthrough (Contextual)]に設定します。

これで読み込み中スクリーンがパススルーで表示されるようになります。
スプラッシュスクリーンを無効化する
スプラッシュスクリーンを無効化するにはプロジェクト設定を変更します。
メニューから[Edit -> Project Settings]を開き、[Player]タブから[Splash Image]パネルを開きます。

[Splash Screen -> Show Splash Screen]のチェックを外します。
これでスプラッシュスクリーンが表示されなくなります。

スプラッシュスクリーンの無効化はUnity2023以前のバージョンでは Plus, Pro, Enterprise いずれかのライセンスでのみ可能です。
Unity6ではPersonalを含む全てのライセンスでスプラッシュスクリーンを無効化できます。
docs.unity3d.com
過去の設定手順
以前のMetaXRSDKではコンフィグファイルに[System Plash Screen Background]の設定項目がなく、AndroidManifestに直接設定を記述する必要がありました。
最新バージョンではAndroidManifestに記述してもコンフィグファイルの設定で上書きされてしまうので注意が必要です。
bluebirdofoz.hatenablog.com