UE4で作成したOculus GoアプリをOculus Storeにデプロイする時の設定のメモ


はじめに

USB接続等によるOculusGo実機へのデプロイの際は問題にならないようですが、Oculus Storeにデプロイする際にAPKに細かな設定が必要なようなのでそのメモをここに記す。

アルファチャンネルなどに対するデプロイにおいても必要です。

前提

バージョンは、4.19。

UE4 Oculus GoでVRアプリの開発を開始するまでの方法
を見て、Android開発環境を構築し、プロジェクト設定をしておく。

上記記事作業での個人的なハマりポイント:
NVPACK内のディレクトリ構成が変更になっていてパッケージング時にSDKが見つけられないようなので、古いCodeWorksを既に導入している場合はアンインストールしておく、または別のフォルダに該当バージョンCodeWorksをインストールするとよさそう。

ここまでの設定のみではOculus StoreへAPKをアップロードする際にエラーになります。
(アップロードにはCLIツールを使用すると便利です。Oculus Platform Command Line Utility )

* APK install location should be `auto` (android:installLocation in AndroidManifest.xml). See documentation at: https://developer.oculus.com/documentation/publish/latest/concepts/publish-mobile-manifest/
* APKのデバッグモードがオンになっています(AndroidManifest.xmlのandroid:debuggable)。
* Exclude from Recents(AndroidManifest.xmlのandroid:excludeFromRecents))はtrueにしてください。
* APK main activity intent filter set to `android.intent.category.LAUNCHER`, but must be `android.intent.category.INFO`. Your app must only appear in Oculus Home. It must not appear in the phone’s launcher.

これらのエラーに対して、次章で加筆修正をします。

前提に加筆修正

UE4のGearVR向けドキュメントは若干古い部分があるので、OculusのGo対応のモバイル向けドキュメントを見て加筆修正する。
Unreal Mobile Development
Application Manifests for Release Builds

Minimum/Target API versionは、21。
Androidのテクスチャ圧縮は、ASTC(またはETC2)。

APK install location ~に対する修正

Project Settings
-> Platforms
--> Android
---> APK Packaging
----> Install Location => auto に設定。

Exclude from Recents ~に対する修正

Project Settings
-> Platforms
--> Android
---> Advanced APK Packaging
----> Extra Tags for UE4.GameActivity <activity> node => android:excludeFromRecents="true" を記述。

APKのデバッグモード~ と APK main activity intent filter ~に対する修正

Project Settings
-> Project
--> Packaging
---> Project
----> For Distribution => チェックを入れる

さらに、How To Sign UE4 Android Packageの通りにAPKの署名設定をする。
上記記事内のkeystoreの位置(<project>/Android/Builds)は古いようなので、<project>/Build/Androidと読み替える。

おわりに

これでAPKをOculus Storeにアップロードできるようになるはずです。
ただしあくまでアップロードできるようになるだけで、実機で動作するかは未確認です。もし動作しなかった場合はその修正ポイントなどはまたどなたかが記事にしてくださいよろしくおねがいします。