Meta Questのアプリビルド手順については色々な解説記事があります。
なぜか自分の環境ではそれらの記事通りにできなかったため、改めて手順をまとめました。
- 1. Unity2022の環境構築
- 2. Unity-StarterSamplesリポジトリ、Meta XR Core SDK、Meta XR Platform SDKをインポート
- 3. Project SettingのPackage Nameを変更する
- 4. Meta Quest Develeper Hubをインストールする
- 5. 動作確認
- 6. おわりに
検証した環境
・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をブラウザで開きます。
Unityも同時に開いていれば、ブラウザ上のOpen in Unityボタンを押すことで、ディープリンクによりUnityが開いてインポートされます。
なお、私がダウンロードした時点のUnity-StarterSamplesはUnity2022.3.26でビルドされており、インポート時に警告が出ました。
ただし、3.31でもapkビルドはできました。
また、Meta XR Core SDKとMeta XR Platform SDKをインポートしたら、Project Setting > Oculus でFix allにチェックをつけます。
この辺りの設定は、こりんさんの開発メモにお世話になりました。
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を起動しアプリ一覧を見てみます。「提供元不明のアプリ」に入っているので、選択して起動します。
6. おわりに
当初、Meta XR Core SDKのSample Sceneをビルドしたのですが失敗しました。Gradle関係、SDKバージョン違いなどが理由のようでした。
AndroidManifest.xmlを表示させてSDKバージョン変更したりと、色々試したのですが解決しませんでした。
一方、新規プロジェクトを作ってUnity-StarterSampleをインポートし、ほぼそのままの設定でビルドしたらうまくいきました。
不思議なことに、このうまくいった環境でMeta XR Core SDKのSample Sceneをインポートしたらやはりビルドできました。
この辺りは不明なままですが、ひとまず環境構築とビルドできる状態ができたので、アプリ開発についてももう少し調べていきたいと思います。