🐥

UE5でのMeta Quest2へのPackaging設定

2022/06/22に公開

自分でもよく躓くところなので備忘録として書き記します。
私の環境で成功している設定値となります、必ずしも動作を保証するものではあリませんのでご留意ください。

※本記事は2022/06/22時点、下記環境下での設定です。

使用環境


windows 10 / 11
Unrealengine 5.0.2
Visual Studio 2022
AndoridStudio : Bumblebee | 2021.2.1 Patch 1 (https://developer.android.com/studio)
Android NDK : r21e※ (https://developer.android.com/ndk/downloads?hl=ja)

※Android NDKについて
・AndroidStudioと同時にインストールされるNDKではなく、別途ダウンロード
・記載対応NDKバージョンはr21bだがマイナーアプデ版のr21eでの起動確認済み
・Epic公式ドキュメント : andoroid SDKとNDKの互換性を参照
(https://docs.unrealengine.com/5.0/ja/android-development-requirements-for-unreal-engine/)

2022/06/23修正、UE5での互換性ページが有りました、恒吉星光さんご指摘ありがとうございます!

(https://docs.unrealengine.com/4.27/ja/SharingAndReleasing/Mobile/Android/Setup/AndroidStudio/)
現状UnrealEngine5.0.0対応記載はないが、4.27同等設定で起動確認済み

各環境のインストール


Visual Studio 2022

Visual Studio Installerでワークロード及びコンポーネントをインストールしていきます。
私の環境下ではワークロードインストール状況は下記の通り。

今回はMeta Quest2、つまりAndroid端末へのpackagingを行うので特に
・.NETによるモバイル開発
・C++によるモバイル開発
は必要かと思います。

また、個別のコンポーネントでは
・.NET Core 3.1 ランタイム(LTS)
をインストールして下さい。

参考までに私のVisual Studioの個別のコンポーネントインストール状況のスクショです。

Android Studio


初期インストール後、個別のコンポーネントを追加でインストールしていきます。

1.AndroidStudioを起動し、右の3点マークメニューからSDK managerを選択します。

2.SDK managerを開いたら、SDK platformタブで右下の「Show Package Detail」にチェックを入れてください。
詳細のコンポーネント設定が可能になります。

3.Android API 33 > Android SDK Platform 33にチェックをします。

4.同様にSDK toolsタブに移動し、右下の「Show Package Detail」にチェックを入れ
・Android SDK build-tools 33 > 33.0.0, 30.0.3, 29.0.2(33.0.0だけ選んだはずなのに他バージョンも入ったのであまりに気しなくても良いかもしれません。)
・Android SDK command-line tools (latest)
・Android Emulator
・Android SDK Platform-tools
にチェックを入れ、Applyを押してインストールします。

UnrealEngine5のプロジェクト設定


※Packaging動作確認の場合は、公式のVRテンプレートで設定を行うことを推奨します。

1.Edit > plugin を開き、 「Oculus VR」プラグインをインストールしてプロジェクトを再起動します。

2.Edit > Project Settingを開きます。

・Project > Maps & Modes メニューから、GamemodeやPawnがVRに適する設定となっているか確認
・Map(Editor Startup、Game Default)がPJに適するものとなっているか確認

・Project > Supported PlatFormsメニューの「Android」チェックが入っているか確認

・Project > Target Hardwareメニューを開き、「mobile」「Scalable」の設定となっているか確認

・Engine > Renderingメニューの、mobile欄 「Mobile anti-Aliasing Method」が「Multisample Anti-Aliasing(MSAA)」となっているか確認

・Platform > Android メニューのAPK packaging欄の設定を下記の通り設定します。
 Minimum SDK version → 23
 Target SDK version → 33 (インストールしたAndroid SDKバージョンの値)

・同じくAndroid メニューのAdvanced APK Packaging欄、Package for Oculus Mobile DevicesにQuest2 ,Questが設定されているか確認

・初回設定時はAndroid Platform/google playの設定を行っていないためPlatform-androidメニュー内に下記のエラーログが発生しているはずです。Android Studioと先述のAndroid SDKコンポーネントをインストールしていれば「Configure Now」をクリックすれば表示が切り替わるはずです。クリックしておきましょう。

「Configure Now」クリック後

・Platform > Android SDKメニューの
 Location of Android ~ SDK,NDK,jdk のパスを指定します。
 
Android studioをパスを変更せずにインストールした場合は、
User>(User名)/AppData/Local/Android/SDK
にあるはずです、SDKフォルダを指定します

NDKは冒頭に準備しておいたr21eの保存ディレクトリを指定します、zipを展開するとandroid-ndk-r21eというフォルダが生成されているはずなので、こちらを指定します。

jdkは、Android studioをパスを変更せずにインストールした場合、
Program Files/Android/jdk/jdk-(バージョン名)-hotspot/jdk(バージョン名)/jre
というパスを指定します。(ここがバージョンアップのたびにコケるポイントです。)

・SDK API、NDK APIはそれぞれ「latest」と入力します。

参考までにAndroid SDKメニューのスクショを掲載

Packaging


ようやくPackagingです。
ツールバーのPlatformを開き、まずはRefresh platform statusをクリックしましょう。
SDK類が適切に設定されている場合、Androidのアイコンが表示されます(注意マークの場合は設定がうまくいっていません。)

Package Projectを実行し、Output logに「BUILD SUCCESSFUL」が表示されればshippingが通っているはずです。

Meta Quest2へのインストール


わたしはOculus Developer hubを利用してインストールをしています。
利用方法などはMeta社公式ドキュメントを参照ください。

Quest2とPCをケーブル接続し、Device managerメニューにshuippingしたフォルダ内の「~.apk」ファイルをドラッグ&ドロップすればインストール完了です。
Quest2内で提供元不明欄にアプリケーションがあるはずです。

EX.注意事項

UnrealEngine5プロジェクトデータはPC上のできるだけ浅いディレクトリに保存しましょう。packaging対象データディレクトリまでのパス文字数が265文字を超えるとビルド及びpackagingができません。

EX.パッケージはできたがMeta Quest2で起動しない(繰り返し停止しています~がQuest2でのアプリ起動時に表示される)

UE側のプラグインによるものと思われます、datasmith系で私は発生しました。一度不必要なpluiginをオフにして再度Packagingして見て下さい。

Discussion