VR app crashing when target SDK is 32

I’ve been told OpenXR + Oculus VR plugin or OpenXR + Oculus XR ext plugin should work as long as OpenXR is the API in the project. I’ve tried both with no luck after packaging for Android-32. A side note is that I can simply go back to Android-25 JDK 8 and 21e NDK with OpenXR + Oculus Plugin and it works again.

I’m fortunate on one of my projects because I have a build that was uploaded before the cutoff date so they let me update it. However… this does nothing for the Unreal Engine VR community that want’s to stick with UE4.27 for the software occlusion culling or cheaper overhead on the physics (physx) thread and overall smaller memory footprint.

If anyone finds themselves here struggling I’ve outlined how to overcome these issues below.
uno1982/UnrealEngine at Meta-4.27.2-v62.0-AndroidFix (github.com)

Summary: UE4.27.2 Launcher uses Oculus Plugin 1.59.0 and is a deprecated version of the VRAPI


You need the version of the plugin included in the meta fork. Plugin 1.94.0

Then you just need to hold your tongue just right to satisfy packaging (using android-29 sdk with 33 build tools and targeting android-32) - To satisfy the Engine not wanting to package NDK/SDK correctly using android SDK API higher than 29 (without additional source modifications to fix storage behavior, game saves, etc.) but also applying the correct target platform to the manifest. (android-32) to make Meta Quest Dev hub uploads happy.

When you hit the magic combo you’ll see output like the following. Notice the Target, Build tools and SDK version.

UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Target SDK Version 32
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Using package name: 'com.WildOxStudios.HaloFanMade'
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): GotStoreVersion found v1. (bUseChangeListAsStoreVersion=False IsBuildMachine=False EngineChangeList=0)
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Writing packageInfo pkgName:com.WildOxStudios.HaloFanMade storeVersion:1 versionDisplayName:1.0 to D:\HaloFanMade\Binaries\Android\packageInfo.txt
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): ====7/27/2024 2:20:59 PM====PREPARING TO MAKE APK=================================================================
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): bBuildForES31: true
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): bSupportsVulkan: false
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Building Java with SDK API level 'android-29'
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Building with Build Tools version '33.0.1'
1 Like