Forum Discussion

willfant's avatar
willfant
Explorer
24 days ago

[HELP] Quest 3 black screen when using Mobile HDR + TonemapSubpass (UE 5.5 + Meta XR v78)

Hey everyone,

I’m having a strange issue when trying to use the Meta XR tonemap on Quest 3 standalone (Unreal Engine 5.5, Meta XR Plugin v78).

Everything works perfectly in VR Preview (Vulkan) inside the editor — the colors look correct and the tone-mapper behaves exactly as expected when I enable:

 

r.MobileHDR=1  

r.Mobile.TonemapSubpass=1

But when I package and run the app on the Quest 3, the screen goes completely black.

The game is clearly running I can hear audio and interact  but there’s no image at all.

 

If I disable HDR or set r.Mobile.TonemapSubpass=0, the image comes back instantly (but of course the tonemap stops working).

 

Here’s my setup:

Unreal Engine 5.5.4 (Oculus fork)

Meta XR Plugin v78

Quest 3, standalone build (Vulkan)

Mobile HDR = ON

MSAA = 4x

Forward Shading = ON

Mobile Multi-View = ON

What’s confusing is that I’ve seen people mention HDR working on Quest 3 standalone, so maybe I’m missing something in packaging or manifest settings?

Is the Mobile HDR + TonemapSubpass path actually supported yet on Quest 3, or does it still only work in the PC Vulkan preview?

If anyone from Meta or the community has a working setup where the tonemap runs correctly on-device, could you please share which build options or CVars were required?

Thanks a lot

2 Replies

  • Hello there!

    Tone mapping is not meant to work with Mobile HDR as it runs off of Vulkan subpasses instead of Unreal Engine's Mobile HDR mode. If you go here, you can find our documentation on Tone Mapping and the proper setup.

    If this does not resolve your issue, let me know!

    • willfant's avatar
      willfant
      Explorer

      Hey!

       

      Thanks a lot for the quick reply. I think I might have figured out what’s happening.

      I deleted all my config files and copied fresh ones from a clean VR template project. When I set TonemapSubpass = 1 together with the default post-process, everything works fine again.

       

      However, in my actual project I need to have a sort of portal between VR and MR , basically a door: on one side there’s the full VR world, and on the other side the passthrough environment.

      When the player opens the door, I use a “poke-a-hole” plane to reveal the passthrough behind it.

       

      The problem is that to make passthrough visible, I have to enable Alpha Output in Project Settings. As soon as I enable it, the passthrough layer seems to switch to overlay, even though I’m setting it as underlay in InitiatePassthroughLayer.

       

      Then, when I disable Alpha Output, the TonemapSubpass stops working entirely it doesn’t come back even after turning Alpha Output off again.

       

      So my question is:

      Could enabling Alpha Output also be changing some other hidden flag that stays active even after disabling it?

      Or is there a known incompatibility between TonemapSubpass and Passthrough layers when Alpha Output is used?

      Any known workaround for this?

      Really appreciate the help I’m totally out of ideas at this point!

      Thanks again!

→ Find helpful resources to begin your development journey in Getting Started

→ Get the latest information about HorizonOS development in News & Announcements.

→ Access Start program mentor videos and share knowledge, tutorials, and videos in Community Resources.

→ Get support or provide help in Questions & Discussions.

→ Show off your work in What I’m Building to get feedback and find playtesters.

→ Looking for documentation?  Developer Docs

→ Looking for account support?  Support Center

→ Looking for the previous forum?  Forum Archive

→ Looking to join the Start program? Apply here.

 

Recent Discussions