Substrate - Feedback Thread

Hi,

@SebHillaire

linking a issue that is related mainly to OIT but also to substrate in a way:

Sorry for the late replay, I missed your post.
This is expected. When using Blendable GBuffer a few Substrate’s features are not supported and thus will be either disabled all together (e.g., F90) or approximated (e.g., Specular profile). If you switch your project to Adaptive GBuffer these features should work as expected. You can see this in the documentation, right before the “Substrate Material Nodes” section.

When you create a new project, Blendable GBuffer is used in order to prefer 60Hz target. Existing Substrate project will automatically keep Adaptive Gbuffer as their default when moving to 5.7.

/Charles.

Hi, I want to ask a question about the integration of Substrate with Chaos World Field.

I’m trying to use a scalar field as translucency mask. As the picture shows, legacy translucent materials and Substrate coverage weight work well, but once I connect it to SSS MFP, it becomes bad-looking pixels. Is it expected or I use in a wrong way?

(↓Tested in UE 5.7.1. Thanks in advance!)

(post deleted by author)

Two-Sided Foliage is not correctly working with stationary skylights, movable skylights are working. With stationary skylight the two-sided foliage casts black shadows onto itself, no matter wether baked or no baked lighting.

  • UE 5.6.1
  • movable directional light
  • stationary skylight
  • cascaded shadowmaps
  • no nanite
  • no lumen
  • no ao in any form

P.S. Subsurface shading model has the same problem.

@piggest_pig That is because MFP is mean free path, not coverage. And it has a non linear behavior.

@apfelbaum noted thanks!

2 Likes

Thank you. Linearity is exactly the key here and I achieve the ideal result using a horizontal blend.

By the way, it turns out that those pixels are not a Substate issue. They are caused by the low resolution of GPU field. In practice, I see pixels more often than a perfect radial falloff.

Do you know if the crashing shaders are post process materials?

Could you try to replace in the file \Engine\Shaders\Private\BasePassPixelShader.usf line 2453:
from
#elif SUBSTRATE_TRANSLUCENT_MATERIAL
to
#elif SUBSTRATE_TRANSLUCENT_MATERIAL && !MATERIAL_DOMAIN_POSTPROCESS

I believe this should fix the issue.

Thanks!

/Charles.

is anyone getting this banding for materials in 5.7? im on 5.6.1 rn so idk if this has been fixed yet

Screenshot 2025-12-18 161755


My complex substrate materials are going over the Bytes per pixel limit which seems to be capped at 256 even though I have it set to 512 in the .ini file. Is there a way to disable the simplification completely? (something I think the path tracers does) I need the materials to look accurate at all times regardless of performance.

Indeed we have hardcoded the max number of byte per pixels to 256, which is already farily large to be honest :slight_smile:

If you can recompile the engine, you can lift this in Engine\Source\Runtime\RenderCore\Private\RenderUtils.cpp :

const uint32 MaxSubstrateBytePerPixel = bBlendableGBufferFormat ? 20u : 256u;

/Charles.

Thanks for the info. As a 3D artist working on high end automotive products I’d really appreciate the option to override limits like this (which is a common approach for path tracer and movie render queue workflows aimed at non-games industries). Building from source isn’t really an option for me. An example of the complexity of what I’ve been asked to visualise is this carbon fibre with a layer of ChromaFlair metallic paint (utilising thin film) and a decal response to place graphics under the clearcoat. This is a real paint called Dragon Green by Mclaren.


I’ve enabled parameter blending on the lower slabs to get this under the limit but its still at 197mb, so it wouldn’t take much to go over again.

This sounds incredibly powerful, are there plans for this to come back/evolve into something greater? Substrate’s slab paradigm lends itself to some awesome opportunities for modular materials, held back by everything needing to be in the same graph.

I updated to UE5.7.1 and left the Adaptive GBuffer enabled. Everything that uses substrates Clear Coat Slab is broken and i have no idea what the problem is.

This should be a white car.

And this should be a yellow car.

A simple Clearcoat material, no matter wether Blendable or Adaptive GBuffer.

As soon as i plugin the roughness node i get this pattern. Idk wether it is because of the vertex normal not being respected correctly, because this diamond pattern doesn’t have clear lines along the edges of triangles but squiggly lines. Also, where is there a white rim around the object, no matter what metallic value is used?

Looks like octahedral normal encoding, which I think is used for the bottom normal of clearcoat materials.

Really strange that it shows up when you plug roughness in

Is there a normals visualization mode that could help you make sense of this? That does look a lot like the octahedron encoding, thanks for the link btw. I’m curious how come it seems to be tracking some sort of terminator?

here a closeup.

also regarding the colors, it looks like the Diffuse and F0 combination behaves different.

and here with background enabled, to have a reference of the reflections. the clearcoat reflection is completely off.

As comparison, here is what clearcoat looked like in UE 5.6

UE 5.6.1

UE 5.7.1

Ok, after further investigation we found out the problem was the SM6 toggle in DX12. With only SM5 enabled everything is totally broken. I wish that SM5 does not break everything, perhaps it is possible to keep the behaviour of UE 5.6 in addition, before it was possible to switch the GBuffer format.

it would be incredibly helpful if toon shading worked on atleast movable objects that rely on volumetric lightmaps (and lightmapped objects too if thats possible!)
but the existence of toon shading built in is already great to see

Baked lighting also does not respect the environment color in Lightmass. In this image you can see the world is additionally lit by the environment color whereas the tunnel walls are pitch black. Baked with a stationary skylight.

  • environment color: (1, 1, 1)
  • environment intensity: 0.25