Community Tutorial: Unreal Engine 5.3.2 for Meta Quest VR

XR Meta Quest setup guide covering everything

https://dev.epicgames.com/community/learning/tutorials/3Vx6/unreal-engine-5-3-2-for-meta-quest-vr

15 Likes

First off, THANK YOU! This is the first REAL guide covers everything you need.

But when you install “Android SDK Command-line Tools 11.0” you have to edit the SetupAndroid.bat (line 86) to “11.0” instead of “latest” (which works fine). Or just install “latest” (which is also 11.0 atm) and you’re fine too.

My problem is, since the update from 5.3.1 to 5.3.2 I can’t launch a project on my quest 3 anymore. Tried everything in your guide (even changed JDK from 17.0.9 to 17.0.6). Generating APK and move it to the quest via dev hub works fine, but direct launching to quest 3 does not work anymore, you can see the quest tries to start something (about 3 or 4 times) but thats all. The CMD stays at “Asset registry cache written as 16.9 MiB to …/VR_5_32/Intermediate/CachedAssetRegistry_*.bin”. My minimum and target SDK is 32 (which worked fine before), but also tried 33 and 29. My UE4.27.2 project can still launch on my quest 3, so no connection problem.

BTW, if I understood the .bat file correctly, it will also just install the sdk, ndk and so on, see line 100 and the vars (line 20) of it:

if “%PLATFORMS_VERSION%” == “” SET PLATFORMS_VERSION=android-33
if “%BUILDTOOLS_VERSION%” == “” SET BUILDTOOLS_VERSION=33.0.1
if “%CMAKE_VERSION%” == “” SET CMAKE_VERSION=3.10.2.4988404
if “%NDK_VERSION%” == “” SET NDK_VERSION=25.1.8937393

call “%SDKMANAGER%” “platform-tools” “platforms;%PLATFORMS_VERSION%” “build-tools;%BUILDTOOLS_VERSION%” “cmake;%CMAKE_VERSION%” “ndk;%NDK_VERSION%”

Or am I wrong?!

2 Likes

I ran into the same problem and found the current version support on the Quest is SDK-32 by the Meta Quest OS (33 is supported by Android in UE). Another thing to keep in mind is the Meta XR plugin step “General/XR API: Epic Native OpenXR with Oculus vendor extensions”, when this is set to the “Recommend” the older setting, the Quest doesn’t launch the APK on device.

In my test project I don’t even have the meta plugin enabled, just OpenXR, to test the basics (which worked fine before). But my other project with Meta enabled is the same. I am testing a lot of settings right now, but did not find a fix yet.

I can see now in the output log of the launcher something like “adb.exe […] /system/bin/sh: syntax error: unexpected ‘(’”. Looks like the “(” in the session name “Quest\ 3\ (192.168.xxx.xxx:5555)” doesn’t work, I guess if we could escape “(” and “)” like the space, it could work, but I don’t know where you can chagne the params or the session name. Still trying…

1 Like

These changes have the meta unreal engine 5.3 branch working for me:

SDK API Level: android-32
to
SDK API Level: latest

NDK API Level: android-32
to
NDK API Level: android-26


EDIT

it seems this was also in my AndroidEngine.ini in my project config:

[/Script/AndroidRuntimeSettings.AndroidRuntimeSettings]
MinSDKVersion=29

When we used “latest” while having Android SDK 33 or 34 installed we randomly run into issues where things where build using Android 33, and as the Meta Quest currently only support Android Platform SDK 32 (12L), setting it is useful.

NDK API Level: yes you’re correct, you can install Android 26 (Oreo) if you like, but as Android 32 is the current supported platform for Quest (UE Android supports 33). Listing Android 12L keeps it current and simple to get people started.

A few people have followed this setup and its golden for them, I have wondered about the NDK Level as Meta Quest min is 26 indeed, but 32 is also marvelous.

1 Like

Having the same issue on Quest 3 → Updated to 5.3.2 (5.3.2 stock version), tried a lot of different SDK / NDK config and got crashes almost everytime.

Just found out that on the VR template, having the MetaXR + OpenXR result to crash on launch which wasn’t the case on 5.3.1. If I disable MetaXR on VR Template everything launch fine on the Quest 3

Maybe the issue isn’t about SDK / NDK or else but on the MetaXR Plugin on 5.3.2

@TheFrenchNob In my case MetaXR is disabled by default in the VR template (should be default in UE5), maybe you changed the plugin config in the engine to be enabled by default?

A workaround so for my problem is launching via “All_Android_On_[…]”, because there are no “(” or “)” in the name. So this looks like a bug when creating the adb.exe params, epic have to escape special chars like “(” or “)” or change the device name.

I created a tutorial post with all configs for UE4 and UE5 which worked so far for me (will add the link here when epic approved it).

2 Likes

Yeh I was trying the Passthrough Quest 3 template that require to add the MetaXR plugin to the Plugins folder but when building it it crashes.
I took time to figure that MetaXR caused it.

I’ll wait for your tutorial to come out ! Thank you for it !

Don’t hesite to post the link or send it to me when it’s approved by Epic

it did not work UNTIL I set it to android-26. Not sure if you’re aware what each of those settings do, but some of those settings tell the engine what to compile against while other settings tell the devices what it’s allowed to swap out for (essentially). You can still build for targeting 32 with android-26. I was using android-25 in my 5.2 branch before, just seems a version bump happened is all.

I didn’t even need to use the suggested newer android studio.

1 Like

@TheFrenchNob It’s online now: https://dev.epicgames.com/community/learning/tutorials/oMEe/unreal-engine-quest-3-sdk-ndk-jdk-for-ue4-ue5.
I linked to your tutorial @antinnit, since it’s just a collection of configs and not a complete guide.

2 Likes

the project wont build. Here is the fix.

  1. Extract the .zip file contents to UE5 Installation Folder\Engine\Plugins\Marketplace. For example: C:\Program Files\Epic Games\UE_5.0\Engine\Plugins*\Marketplace*

you don’t have to do that, you can put it in your project/plugins folder

1 Like

Perfect ! Thank you for the update !

Thx for the good work. All is ok, also with meta branch on github. But i need java 17.0.9 instead of 17.0.6.

Is using the older version of the “Java SE Development Kit 17.0.6” Windows x64 Compressed Archive advised vs the newest?

I’ve updated the guide to use “Java SE Development Kit 17.0.9” as it works fine; 17.0.6 was based on the Unreal Engine release notes for UE5.3 (both 17.0.9 and 17.0.6 worked fine in our tests here).

There is no link for the Platform SDK - I had to dig around and found it. You can update with this link https://developer.oculus.com/downloads/package/unreal-5-platform-sdk-plugin/

3 Likes

Oh the url next to Platform SDK wasn’t converted to a link :rofl: I’ve fixed it :slightly_smiling_face: thanks

2 Likes

After successfully going through the instructions, I was able to compile the VRTemplateMap APK file and send it over to the Quest 3. However, i’m getting a square outline around the navigation circle which isn’t present when doing a VR Preview. Any ideas on how to fix this? Also, would REALLY love Half-Life ALYX style navigation as the default on the controllers. At minimum set the default to be able to snap rotate and teleport on the same hand would be a good start. Continuous movement with thumbstick would be ideal.