CrossRoad

XRを中心とした技術ブログ。 Check also "English" category.

Unity-StarterSamplesを使ったMeta Questアプリをビルドする手順について

Meta Questのアプリビルド手順については色々な解説記事があります。

なぜか自分の環境ではそれらの記事通りにできなかったため、改めて手順をまとめました。

検証した環境

・Windows11 (ただし、MacのParallel Desktopで動作)
・Unity 2022.3.31f1
・Meta Quest2

1. Unity2022の環境構築

Unity Hubアプリケーションをインストールし、そこから選択してUnityをインストールします。6/1時点ではUnity2022.3.31がLTSの最新版だったので、こちらを選択してインストールしました。

バージョン一覧はこちらにあります。 https://unity.com/ja/releases/editor/archive

2. Unity-StarterSamplesリポジトリ、Meta XR Core SDK、Meta XR Platform SDKをインポート

こちらです。
github.com

Unityで開いたら、Meta Core SDKとMeta XR Platform SDKの2種類をインストールします。

以下のURLをブラウザで開きます。

assetstore.unity.com

assetstore.unity.com

Unityも同時に開いていれば、ブラウザ上のOpen in Unityボタンを押すことで、ディープリンクによりUnityが開いてインポートされます。

Meta XR Core SDK on Unity Asset Store

なお、私がダウンロードした時点のUnity-StarterSamplesはUnity2022.3.26でビルドされており、インポート時に警告が出ました。

ただし、3.31でもapkビルドはできました。

また、Meta XR Core SDKとMeta XR Platform SDKをインポートしたら、Project Setting > Oculus でFix allにチェックをつけます。

Fix all setting on Unity project setting for Oculus

この辺りの設定は、こりんさんの開発メモにお世話になりました。

tech.framesynthesis.co.jp

3. Project SettingのPackage Nameを変更する

そのままだとビルドに失敗することが多いので、Project SettingsのPlayer > Package Name を変更します。com.limes.test としました。

あとは、Switch PlatformでAndroidに変更、StarterSampleのフォルダにあるサンプルシーンを起動、Build Settingでビルド対象のシーンを追加してからBuildボタンを押します。

test.apkのように適当な名前をつければビルドが開始します。

初回についてはAndroid のgradleビルドが走るため10分以上かかりましたが、ビルドできました。

4. Meta Quest Develeper Hubをインストールする

Meta Quest Develeper Hubとは、PC側でQuestデバイスを認識して、状態管理などができるアプリケーションです。

このページにあるリンクからインストーラをダウンロードします。
Meta Quest Developer Hub: Unity | Oculus Developers

Questデバイスの開発者モードがonになっていれば、Meta Quest Developer Hubでデバイスを認識します。

認識したら、こちらの手順に沿ってapkファイルをドラッグします。

Deploy Build on Headset: Unity | Oculus Developers

これでインストールは完了です。

5. 動作確認

動作確認ですが、Quest2を起動しアプリ一覧を見てみます。「提供元不明のアプリ」に入っているので、選択して起動します。

Sample scene on Unity-StarterSamples

6. おわりに

当初、Meta XR Core SDKのSample Sceneをビルドしたのですが失敗しました。Gradle関係、SDKバージョン違いなどが理由のようでした。
AndroidManifest.xmlを表示させてSDKバージョン変更したりと、色々試したのですが解決しませんでした。

一方、新規プロジェクトを作ってUnity-StarterSampleをインポートし、ほぼそのままの設定でビルドしたらうまくいきました。

不思議なことに、このうまくいった環境でMeta XR Core SDKのSample Sceneをインポートしたらやはりビルドできました。

この辺りは不明なままですが、ひとまず環境構築とビルドできる状態ができたので、アプリ開発についてももう少し調べていきたいと思います。