Oculus Quest 2を入手したので、こりん@VRさんの実演動画を参考にさせてもらいながらアプリをビルドしてみました。
動画では、Oculus Quest 1 & Unity 2019.4.8f1ですが、
今回はOculus Quest 2 & Unity 2019.4.12f1で進めました。
結果的にはビルドとアプリのインストールに成功 & Editor上で実行しながらOculus Linkを使った実機確認までできるようになりました。
プロジェクトの作成・基本設定
Unityでプロジェクトを作成。
プロジェクト名以外はデフォルトの設定。
Build Settingsで以下に設定。
- PlatformをAndroidを選択(QuestのOSはAndroidベース)
- 画像圧縮Texture CompressionをASTC
- Switch Platformボタンクリック
Player Settingsで以下に設定。
- Other Settings > Color Space を Linear に変更(ここを変えるとプロジェクト全体にリビルドがかかるためプロジェクト作成直後に変えておくと良い)
- Other Settings > Graphics APIs > Vulkanを削除(動画の時点ではVulkanはまだ暫定対応だかららしい。一応削除。)
- Other Settings > Identification > Minimum API Level を Android 6.0 ‘Marshmallow’ (API level 23) に変更。
- ストア申請時はConfiguration > Scripting Backend を IL2CPPにして、Target Architectures を ARM64にする必要があるそうだが、ビルドに時間がかかるようになるため、ストア申請時に変更する。
Oculus Integrationのインポート
Asset StoreからOculus Integrationをインポート。
不要なものはチェックを外しておくとインポートの時間短縮になる。
すべてインポートすると数十分かかってしまう。
動画では、Avatar, LipSync, SampleFramework のチェックを外してインポートしていたので同様にインポート。

すべて選択してから左キーでもいいかも。
Hierarchyでもこの矢印キー操作は使用できるのでよく使ってます。
このとき自分の場合Asset Storeにログインしていなかったため、以前ダウンロードした際にキャッシュされていた古いバージョンのOculus IntegrationをImportしてしまっていてエラーの沼にハマりました。

ログインして最新のものにアップデートした上でインポートすればエラーは出現せず、無事進めました。
話を戻して、Oculus Integrationをインポート後、

Oculus Utilitiesのアップデートを促されたのでYesをクリック。

Restartをクリック。

直後にSpatializer Pluginsとやらのアップグレードを促されたのでそれもUpgrade。

Restartクリック。

なぜかクラッシュしたと言われて再起動されないが、とりあえずセルフでUnityを開きなおす。

エラー表示もないので、続ける。
XR Plugin ManagementとOculus XR Pluginのインストール
動画の手順通り、Projectの Oculus/VR/Scenes/ControllerModels シーンを開く。

ゲームビューが不気味になる。
このままでは動かず、パッケージをインポートする必要がある。
Window > Package Manager をクリック。

XR Plugin Management を検索して Install。
今回はv3.2.16。

OKクリック。

Oculus XR Plugin も Install。v1.4.3。

Edit > Project Settings…を開くと、XR Plug-in Management というタブが追加されている。
該当タブ内のAndroid設定のOculusをチェック。

Unity Editorで再生できるようにStandaloneの方のOculusもチェック。

XR Plug-in Management > Oculusタブに切り替えて、Stereo Rendering Mode を Multiviewに変更。

Standaloneの方はSingle Pass Instancedに変更。
この状態で、Oculus Linkを開始してPlayを押すと、実機にて動作確認可能でした。
また、Build And Runでビルド&実機へインストールも成功。
Oculus Linkを使用したデバッグは開発が捗りそうです。
↓Unity開発者必読のバイブル↓