Texture issues

I’m having an issue with my roughness map in Unreal Engine 5.6.

I exported the roughness map as an 8-bit PNG from Substance Painter. The material looks correct in Substance Painter and Marmoset Toolbag, but in Unreal Engine’s standard Lit mode, the surface looks much too glossy. The fingerprints and smudges appear extremely shiny and sharp, almost as if the surface were wet, and the smooth roughness gradients seem to be lost.

Interestingly, the material looks as expected when using Path Tracing.

I’ve already disabled sRGB on the roughness texture and set the compression settings to Masks (no sRGB). I also tried changing the sampler type in the material, but it didn’t solve the issue.

Another thing I’ve noticed is that the roughness texture looks lighter in Unreal Engine’s Texture Editor than the original exported PNG. The darker areas appear more gray in Unreal.

Has anyone experienced this issue in UE 5.6? Could this be related to texture import, gamma/color space handling, or differences between the standard Lit renderer and Path Tracing?

sRGB off plus Masks is the right import for a roughness PNG, so this is probably not a gamma flag you still have to flip. Two separate things in your description line up with how UE 5.6 actually shows roughness.

The texture looking lighter in the Texture Editor is normal once sRGB is off. That preview is displayed through the editor view transform, so a linear map looks washed compared with the same PNG opened in an image viewer that assumes sRGB. It does not mean the sampled values got brighter. To see the real number, in the material temporarily plug the roughness texture into Base Color (or use a debug scalar) and compare a dark pixel with the PNG. If those values match, import is fine and the glossy look is coming from the Lit path, which matches the fact that Path Tracing already looks right.

Lit vs Path Tracer on this kind of map is mostly Lumen reflections, not the texture. Lumen only traces reflections under a roughness cutoff (r.Lumen.Reflections.MaxRoughnessToTrace, default around 0.4) and then blends the rest to a low resolution radiance cache. High frequency smudges and fingerprints get filtered, so the surface reads wetter and sharper than the path tracer, which integrates the real roughness lobe. On the Post Process Volume, raise Lumen Reflection Quality, and try pushing MaxRoughnessToTrace up (around 0.6) in a console variable so more of the mid roughness is actually traced. Also make sure Screen Space Reflections are not stacked on top of Lumen, or you get a second sharp layer.

A few material checks that produce this exact “wet fingerprints” look even with a correct map:

  • Compression: for a single channel roughness, set Compression to Grayscale (BC4), not the default color DXT. Masks is better than Default, but a color block format still lifts dark texels, which is the “darks look gray” part. Reimport after changing it.
  • Mips: the default mip chain blurs roughness and the surface gets glossier as soon as it is not at mip 0. For a test, set Mip Gen Settings to NoMipmaps or a sharpen setting. If the close-up suddenly matches Marmoset, mips were the loss of gradient. Texture Group WorldSpecular is a better permanent home for a roughness map than World.
  • Material pins: Metallic must be 0 on a dielectric. A small metallic leak from a packed mask makes smudges look like wet metal. Leave Specular at the default 0.5. Confirm there is no Multiply on the roughness pin left over from a tutorial (a 0.5 scale will gloss the whole map up).
  • Sampler Type on the texture sample node should be Linear Color, not Color. Color forces an sRGB read even when the asset checkbox is off.

Path tracing ignoring the Lumen cutoff is why that mode already matches Substance and Marmoset. I would verify the sampled value first. If it matches the PNG, stop chasing gamma and adjust the Lumen roughness cutoff and the mip chain.