Colors in Oculus Quest do not match colors in Desktop

I’m not sure how to fix this. I read online that some people were using scripts to modify the image maps of all the textures. Others try in vain to use post-process only to realize its too expensive to keep later on. What is the real solution to this problem? There are many great looking games out there, and I imagine they have a better workflow than eye-balling colors for the Oculus Quest. Your help and advice would be greatly appreciated!

1 Like

Hey !

That’s very interesting. I started a similar topic a while ago. About Look Development and what to consider before you start shading and lighting. Especially when you want to consider the same look (same colors, same mood, same values) for the Mobile Android System using ES3.1

It’s strange that you have such a brightness difference.
Because your UE4 Editor Preview using Android seems to look fine.

Or at least, I am assuming that’s the look you are aiming for, and the output on the Quest seems to be to bright, correct?

My first guess:
Did you turn off Auto Exposure in the Project Settings?

It could have a lot of reasons. I always recommend to share project files.
If you upload your .zip file to mega I could download and check and see behind the curtains.

The options in the project settings can be very different.
Also… are both results you posted after the baking?
And what baking solution did you pick?

  • Unreal Lightmass GPU?
  • Unreal Lightmass CPU?
  • Vray?

I am currently also running a lot of tests developing specifically for the Quest.
You can see my progress / debugging here:
It’s for sure the top of the iceberg.

Let’s connect on Discord - I am pretty sure we can solve this problem.
cheers :slight_smile:

I figured it out. It was one of the following two things:

  1. I had “Mobile HDR” enabled. I disabled it.
  2. I enabled Forward Rendering.

Once that was done I deployed and the result was very close to what the original PC preview looks like.
I hope that helps others that might encounter a similar problem in the future.

We have Mobile HDR off and forward shading (I assume that’s what you meant) on, but our emissive colors aren’t working at all. Emissive colors on desktop look perfect, on quest, just flat plain colors.

It is best practice to have Mobile HDR off when developing for Quest - With mobile HDR off it disables post-processing on mobile.

The ‘flat plain colors’ that you are seeing is a result of not having the bloom post process effect.

Like Bernhard mentioned, you’ll see a better representation of what to expect on mobile devices by changing the ‘Preview Rendering Level’

But feel free to enable Mobile HDR and try deploying to Quest, with enough optimization you might be able to get away with the added post-processing overhead.

Is that preview a UE5 thing? I am still using 4.27 and don’t see it.

The colors on my Quest also look very different from in the editor. It was fine it 4.25, not sure if that was because I had use Legacy Shaders enabled but it looked on the headset exactly the way it did in the editor.

See my pics. the difference looks more pronounced on the headset than in the pics, but basically on the headset the colors are darker and more saturated. I am using out-of-the-box settings.

The preview rendering level is in a slightly different place in UE4 (Top Bar with large square buttons → Settings → Preview Rendering Level) - It’s not 1:1, but will get you closer to final look.

I don’t remember any specific changes between 4.25 and 4.27 that would affect colors.

its set to shader model 5, when I try to switch it to Vulkan it crashes. Does 4.27 use Vulkan? Under Project settings for Android Apps, I have it set to Support Vulkan - on, Detect Vulkan Device Support - on

Try to disable Mobile MSAA before turning on android vulkan preview, it might fix the crash.
Or you can switch the View Mode to Buffer Visualization > Scene Color, which disable most of the post processing. It looks pretty close, except for emissive material that have a value higher than 1.

where do I find View Mode? disabling MSAA didn’t fix the vulkan preview crash

also, no changes I make to my postprocessvolume or exposure settings in my projects settings->rendering exposure settings have any effect. There seems to be some override somewhere that I don’t have access to. I do see the postprocessvolume effect changes in the editor, just not in the headset when running

With Mobile HDR off, any post process will be disabled on the Quest. Thats why changes in Post Process Volume dont have any effect.
Auto Exposure Bias (in Project Settings > Rendering > Default Settings) do change the brightness though (even without Mobile HDR)

1 Like

Changing the view to Scene Color does change the look in the editor, but again, not in the game.

And same for Auto Exposure Bias, changing it changes the look in the editor but not when running on the headset (only if view is on Lit, not if on Buffer → Scene Color). Like I said, there is an override somewhere for when it runs on the headset. I have googled and it seems others have similar issues where colors look different when running on the headset compared to in the editor…just for versions > 4.25 or 4.26 and VR…at least on the Quest.

Also, semi-transparency doesn’t look nearly as good on 4.27 as it did on 4.25…I guess all these differences are due to Vulkan ? (I imported my stuff from a 4.25 project which uses Legacy Shaders to 4.27). Lastly, the collision doesn’t seem as good on 4.27. In my project, there are moving objects you swing at to try and hit. In 4.25 I get way more hits than in the 4.27 version. Does 4.27 use different physics engine or something?. I would continue to use 4.25 but not sure how long non-XR apps will be supported.

The purpose of changing the view mode to Scene Color is to have a closer preview in the editor of what your game will look like on the Quest. (or Android Vulkan preview but you get crash). Its just for preview, not a rendering setting.
The colors look different because on desktop, there are some post processing effects, while on the Quest, there are no post processing. There is no override, because the Quest just can not run it smoothly.

Thanks but you didn’t address a bunch of my points (semi-transparency/collision/only on versions > 4.25, etc).

I can turn my postprocessingvolume off, and the colors still look different on desktop than on the headset. Like I read somwhere in a forum, seems like Oculus thinks they know how the colors should look better than us, or they want apps to confirm to a certain palette or something. Again, this is just for versions after 4.25.

The only way I can get the colors close to how I want is to edit the brightness and saturation of my textures. It looks weird in the editor on my pc because everything is overblown, but at least when it runs on the headset it’s close to what I want.

1 Like

this issue happened to me as well I’m using UE 5.2.1 for quest 2 Meta xr plugin
finally, changing texture color helped to get what I want at least