Mobile HDR is broken on Meta Quest 3 in 5.6.0

Summary

Mobile HDR doesn’t work on Meta Quest 3 with forward rendering and multiview - device hangs upon app launch.

Please select what you are reporting on:

Creative

What Type of Bug are you experiencing?

Devices

Steps to Reproduce

Configure VR Template for Meta Quest 3 (Android), including forward rendering, MSAA x4, mobile multiview and mobile HDR. Build apk and install it to the device using MQDH. Run the app and observe infamous infinite loop with 3 dots in the startup splash screen.

Expected Result

App should launch and work as expected, rendering supported features such as bloom, etc.

Observed Result

After launching app from the device, the app hangs on the splash screen.

Platform(s)

Meta Quest 3/S (Android Vulkan)

Additional Notes

Mobile HDR used to work with Unreal Engine 5.4.3 (Meta fork v68 and v69).

Hey @motorsep did you end up fixing this.
I don’t think it is related to mobile HDR as I have the exact same problem “After launching app from the device, the app hangs on the splash screen.” and this is on a Quest 2 headset (standalone) and I do not have HDR enabled.

It builds fine to an APK, copies fine to the headset but when starting the app just sits at the splash screeen :frowning:

Well, it’s related to Mobile HDR or Mobile HDR + MMV (which I haven’t tested because I don’t see how people run apps on Quest without MMV). And it worked fine in 5.4.3 v68-v69 Meta fork. It doesn’t work in any of 5.5.x builds and it doesn’t work in 5.6.0 Epic (although it doesn’t crash - it just has no HDR effects).

So, no, I didn’t fix it. No one fixed it afaik.

I encountered the same issue, and was about to make my own SceneViewExtension, but this in turn made me stumble upon r.Mobile.ToneMapSubpass is now available since 5.5. The caveat is that this required Mobile HDR turned on. Now what is interesting is that turning on Mobile HDR with Forward Shading will crash, but if u set r.Mobile.ToneMapSubpass=1 it wont crash anymore for some weird reasons, but beware that it will crash the editor mobile previewer! But it works on Quest3!

I’m using r.Mobile.ToneMapSubpass to adjust color with LUT table from the Post Process Volume, i suspect the other post process effects wont work in forward rendering.

Im now able to use movable spotlight with dynamic shadows using forward rendering with somewhat nicer colors than default flat LDR without LUT.

Otherwise u could also try deferred rendering, this works quite well for Quest3 in 5.6 as i have tested, only downside is that dynamic spotlight shadow doesnt work on stereo anymore, if u dont need this u can just deferred for bloom and stuff.
The last version where all the effects worked for me was 5.3 deferred, i got 72fps on quest3 for somewhat complex scene, not sure why they ruined the engine so hard since

1 Like

Are you saying that with r.Mobile.ToneMapSubpass=1 in the DefaultEngine.ini with forward rendering and Mobile Multiview on, MobileHDR works (bloom!), movable spotlights have dynamic shadows and it all works on Quest 3 out of the box? And the only downside that Preview in the Editor crashes?