UE5.5 texture encoding/sRGB issue

Hello.

In UE5.5 I’ve noticed a regression when it comes to linear textures, which are used commonly for multi-channel masked textures. Changing the sRGB toggle shows a different result in UE versions prior 5.5 and after it. You can see the issues with a standard ThirdPerson project template on a mannequin, i.e. mannequin masked texture is showing issues in preview and also in game. I’ve tried switching to different colour encodings and spaces, but I can’t find a way to make it work.

Steps to Reproduce

  • Open a ThirdPerson Project Template project in UE 5.5.4-40574608 and in version before UE 5.5 (e.g. UE 5.2.1-26001984).
  • Find texture T_Manny_02_CCRCCPlastic_MSK.
  • You can see a visible difference between the two textures (attached as an image in this post)
  • Run the game in both engines and check the mannequin closely. You can notice issues with mask properties such as Roughness and Metallic.

Hi,

thank you for reaching out about this issue and for the clear repro steps. I found that this texture encoding change was introduced sometime between 5.3.2 and 5.4.4. I could make the mask textures match fairly closely (there are some compression artifacts noticeable on magnification) between the different engine versions by changing Encoding Override (under Texture > Advanced > Source Color Settings) to Linear on 5.3.2 and to sRGB on 5.4.4.

I’m still investigating if this is a bug or an intentional change in the engine, will post an update soon.

Thanks,

Sam

Hi,

I have filed a bug report for this issue and will post a link here when it becomes available on the public issue tracker, so it’s progress can be followed.

Thanks again,

Sam

Hi,

the issue is now public on this link.

Best regards,

Sam

In UE 5.4 a bug was fixed in the Texture Editor Viewer. Previously, Linear textures were incorrectly being shown as SRGB in the Texture Editor Viewer. (they were encoded correctly to GPU formats, just shown wrong in the preview). Now they are shown correctly, as Linear. So we expect the Texture Editor view to change, BUT the output GPU texture to not change.

Release notes on this issue :

[UE5.4] Many fixes were made to the display of Linear vs. SRGB encoded textures in the Editor. Note that the output built platform texture was always correct and was not changed, but in some cases the display in the Editor viewer or thumbnails was wrong. One consequence that may be surprising is that Normal Maps which are typically Linear may now appear light blue rather than dark blue.

[UE5.4] Texture Viewer fixed gamma correction of Linear textures

Before UE5.4 , Linear gamma textures were not shown correctly in the Texture Editor viewer; they were getting gamma corrected, causing an overall shift of brightness. After UE5.4 they appear correctly. Note that before 5.4 they did appear correctly in the 3d/Material/Shader view in the actual rendered game, it was only in the 2D UI elements (Slate/Canvas) that they were wrong.

You should not have to touch the source encoding override. Simply have the SRGB flag off, and both the input and output will be treated as linear. That has not changed.

We expect that the 3d view output should not be changed by this. But of course a number of things could have changed in the render output from 5.3 to 5.5

If you believe that despite this comments that the output 3d result is different, we would like to know about it. I would suggest turning off all possible options in the 3d render panel that could have changed in UE, such as lighting, fog, and post-processing.

Hi [mention removed]​.

Thanks for the comments, but as you can see in the attached images at the top the texture used on the GPU side has wrong “compression-like” artifacts. Both versions have the same setup with sRGB disabled and without touching any of the other settings (they are set to default). This is a default third person template setup, so it should work without any issue. I checked your suspicion of post-processing or lighting setup and in ThirdPerson template scene I disabled any post-processes, fogs, tried with Lumen off-on and same with Megalights. Still the same result and due to it looking “tiled” it really seems like texture compression artifacts. Like if when changing the encoding the values were put into wrong range and thus quantized. When I saw it first I also thought it’s just a preview thing, but it’s actually affecting the final result.

I understand there’s a difference in the 3d view you’re seeing there. To my eye that looks more like a difference in the environment map reflections or maybe in the normals. The CCR mask can’t be making a difference like that.

I attached a zip with 4 screenshots of changing setups on the T_Quinn_01_CCRCCPlastic_MSK texture.

I tried :

Unchanged (Linear)

SRGB

SRGB + source encoding = Linear

In all 3 cases I saw zero difference in the 3d view.

I also set the texture to black just to see what the effect is on the 3d view if this texture is wiped out completely, and you can see the effect of that.

The CCRCC was just an example of the change in the preview, not exactly showing the exact texture that causes the issues. There are 3 different mask textures on the mannequin. Tested the 5.2.1, 5.3.2 and 5.5.4 and I can see that the biggest change happened between 5.2.1 and 5.3.2 and the weird “compression like” issue is visible from 5.3.2 onward.

[Image Removed]It might be that the sRGB texture preview is just a coincidence, but we see similar “compression like” issues with our own assets. I’ll try to run some tests on assets we have to get more info on that and show comparisons between the exported from the 3D software and Unreal versions.

We’ve run some tests on our assets we have and it turned out that it was a misunderstanding from our side. The mannequin issue seemed to be similar, but turns out that it just looked similar coincidentally and has nothing to do with it. There was also some confusion because of the compression of the mask texture compared to a single-channel texture, but it seems to be consistent across UE versions.

Overall the textures work correctly, so thanks for checking!

We have looked further into what is causing that chunky rainbow reflection effect in the 3d view of the mannequin.

It turned out that was an unrelated bug in CurveLinearColor that showed up the Diffraction Material on the mannequin. This is now fixed in CL 42957844

Thanks much for that screen shot, it pointed us in the right direction to find the bug!