UE5でのMeta Quest2へのPackaging設定
自分でもよく躓くところなので備忘録として書き記します。
私の環境で成功している設定値となります、必ずしも動作を保証するものではあリませんのでご留意ください。
※本記事は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