Community Tutorial: Unreal Engine 5.4.x for Meta Quest VR

XR Meta Quest setup guide covering everything

https://dev.epicgames.com/community/learning/tutorials/y4vB/unreal-engine-5-4-x-for-meta-quest-vr

1 Like

Hi @antinnit ,
Thanks for your guides both for 5.3 and 5.4.

I can package and deploy without any problems, however in 5.4. (where you now have to use Vulkan) the application crashes on the quest with a null pointer dereference located in the vulkan classes. You cannot even disable Vulkan any longer. I have reproduced the same crash on the application built / deployed to the quest from two different workstations. I do not think I am the only one, though it may have not been reported that much.

Here is the crash log (obtained through the device logs from the Meta Quest Developer Hub):

10:07:04.158libcFatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x10 in tid 27519 (Thread-3), pid 27412 (ny.CUBES_VR_Sim)

10:07:04.442DEBUG*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

10:07:04.442DEBUGBuild fingerprint: ‘oculus/eureka/eureka:12/SQ3A.220605.009.A1/49941090063600510:user/release-keys’

10:07:04.442DEBUGRevision: ‘0’

10:07:04.442DEBUGABI: ‘arm64’

10:07:04.442DEBUGTimestamp: 2024-07-12 10:07:04.223829245+0200

10:07:04.442DEBUGProcess uptime: 1s

10:07:04.442DEBUGDiagnostic-Collection-Type: Tombstone Proto

10:07:04.442DEBUGHas-Diagnostic-Summary: Yes

10:07:04.442DEBUGAPK-Location: /data/app/~~T6ge1bqkpPyAE7fIcKipzw==/com.YourCompany.CUBES_VR_Sim-67rybwF0CQtHej6wGD4K_w==/base.apk

10:07:04.442DEBUGDebugging: No

10:07:04.442DEBUGHas-Waited-For-Debugger: No

10:07:04.442DEBUGLast-Activity-Time: 6632866

10:07:04.442DEBUGProcess-Runtime: 2507

10:07:04.442DEBUGWaiting-To-Kill:

10:07:04.442DEBUGKilled-By-AM: No

10:07:04.442DEBUGRemoved: No

10:07:04.442DEBUGWanted-ANR-Ui: No

10:07:04.442DEBUGKilled: No

10:07:04.442DEBUGOOM-Score-Adj: 0

10:07:04.442DEBUGWanted-Error-Ui: No

10:07:04.442DEBUGKill-Time: 0

10:07:04.442DEBUGState: TOP

10:07:04.442DEBUGForeground: Yes

10:07:04.442DEBUGExecutable: /system/bin/app_process64

10:07:04.442DEBUGCmdline: com.YourCompany.CUBES_VR_Sim

10:07:04.442DEBUG

10:07:04.442DEBUGuid: 10168

10:07:04.442DEBUGtagged_addr_ctrl: 0000000000000001

10:07:04.442DEBUGsignal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x10

10:07:04.442DEBUGCause: null pointer dereference

10:07:04.442DEBUGx0 0000000000000000 x1 0000006e9ed3cce0 x2 0000006e9ed3cce0 x3 0000006e22c19200

10:07:04.442DEBUGx4 0000000000000000 x5 00000000000000a0 x6 0000006e9a8c0400 x7 0000006e9a8bffc0

10:07:04.442DEBUGx8 0000000000000000 x9 0000000000000000 x10 00000000000000c0 x11 ffffffffff3f7100

10:07:04.442DEBUGx12 0000006f4363c4c0 x13 0000000000000001 x14 0000000000000004 x15 00000000000000c0

10:07:04.442DEBUGx16 0000006fc9783ce8 x17 0000006fc977419c x18 0000000000000018 x19 0000006e9a8c0430

10:07:04.442DEBUGx20 0000006e9a8c0400 x21 b400006e22bf2000 x22 b400006e22d8d140 x23 b400006ea733e0c0

10:07:04.442DEBUGx24 b400006e22db3500 x25 0000000000000000 x26 b400006e22c03100 x27 b400006e22d8d1e0

10:07:04.442DEBUGx28 0000000000000009 x29 0000006e9a8c0360

10:07:04.442DEBUGlr 0000006e9eb92368 sp 0000006e9a8c0360 pc 0000006e9eb92250 pst 0000000000001000

10:07:04.442DEBUGbacktrace:

10:07:04.442DEBUG#00 pc 0000000000228250 /vendor/lib64/hw/vulkan.adreno.so (!!!0000!34f17444379d235724ba566e4ee017!b0ed28cdeb4!+32) (BuildId: e503617a43db2745cf7be8007deaf296)

10:07:04.442DEBUG#01 pc 0000000000228364 /vendor/lib64/hw/vulkan.adreno.so (!!!0000!518138ead6fc488bd1ce8f4c031ec0!b0ed28cdeb4!+156) (BuildId: e503617a43db2745cf7be8007deaf296)

10:07:04.442DEBUG#02 pc 0000000000226f54 /vendor/lib64/hw/vulkan.adreno.so (!!!0000!f8809bf9e2740df04d27c074c83ead!b0ed28cdeb4!+1628) (BuildId: e503617a43db2745cf7be8007deaf296)

10:07:04.442DEBUG#03 pc 00000000003b382c /vendor/lib64/hw/vulkan.adreno.so (!!!0000!63dfb874ea0a3c3e6abe367654b828!b0ed28cdeb4!+10076) (BuildId: e503617a43db2745cf7be8007deaf296)

10:07:04.442DEBUG#04 pc 00000000001e3c38 /vendor/lib64/hw/vulkan.adreno.so (!!!0000!0964412298f54481475bf89d4ab944!b0ed28cdeb4!+264) (BuildId: e503617a43db2745cf7be8007deaf296)

1 Like

UE 5.4.4 will fail unless you have SDK API Level set to “latest”

SDK API Level (specific version, ‘latest’, or ‘matchndk’ - see tooltip)
Internal Name: SDKAPILevel
latest

All you need to do is update the SDK versions under: Project Settings/Platforms/Android/Target SDK version to 34 and change Project Settings/Platform/Android/SDK API Level to android-34. This is a requirement from the Meta Store.

It won’t fail if you have the versions set correctly(its better for build control). Unreal 5.4.4 updated the android sdk to version to 34 (finally), so we need to change the versions to reflect that.

Thanks for the helpful post. I follow the steps and it worked. I was able to install the basic VR Template on my Quest 3. Next I will test adding custom items :slight_smile:

1 Like

I have made modifications to the Unreal Engine Android Project settings for Distribution (shipping), and provided guidance on packaging and uploading to Meta Quest Hub / App Distribution.

1 Like

Oh man, thank you so much! I spent 8 hours with those NDK/JDK/SDK etc. issues, but your guide finally made it packaged and installed. Awesome work!

1 Like

Followed all the instructions. I can now build, package and deploy. But when I run just the original, unmodified VR template app, it looks like the attached. Anyone else experience this? The colors are all corrupt and are completely green. The skybox is ok, though.

Any ideas on how to fix?