Instant crash, while using WorldNormal in my transparent Deferred Decal substrate material

If I connect the ‘SceneTexture:WorldNormal’ node in any form to the emissive pin of my translucent Deferred Decal material, the engine immediately crashes during translation. I would make a mask that is included in the calculation. If I connect the calculated mask to the diffuse or roughness pin for testing, there is no problem, it works fine. If it connect to the emissive pin, no matter what I do, it’s over.

I use Substrate, and UE5.4.4 and there are no extra plugins in the project.
I tried connecting it to the Coverage pin of the ‘Substrate Convert To Decal’ node, but the engine still quits.

I also tried using the ‘DBufferB (WorldNormal)’ node, but the error message says that it can only be used for Opaque and Masked materials. Yay!

Is there a way to use WorldNormal in transparent Deferred Decal substrate material without crashing immediately?

The short error message is:

Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\RHICore\Public\RHICoreShader.h] [Line: 178] Uniform buffer bound to slot 2 is not what the shader expected: Bound : Uniform Buffer[FSceneUniformParameters] with Hash[0x008c1f51] Expected : Uniform Buffer[Substrate] with Hash[0x09701141] Shader Name : <unknown> Layout CB Size : 128 Layout Num Resources : 10 Resource Types : 16 16 16 16 16 16 16 12 12 8
1 Like

I’m getting a very similar crash when I try to hook up a SceneTexture:WorldNormal node in a substrate decal material and have anything hooked up to the emissive output.

Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\RHICore\Public\RHICoreShader.h] [Line: 178] 
LogWindows: Error: Uniform buffer bound to slot 3 is not what the shader expected:
LogWindows: Error: 	Bound                : Uniform Buffer[FShadowDepthPassUniformParameters] with Hash[0x1d501e25]
LogWindows: Error: 	Expected             : Uniform Buffer[Substrate] with Hash[0x09701141]
LogWindows: Error: 	Shader Name          : <unknown>

This is happening in the 5.5 preview as well, unfortunately.

Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\RHICore\Public\RHICoreShader.h] [Line: 198] 
Shader expected a uniform buffer at slot 1 but got null instead (Shader='<unknown>' UB='Substrate'). Rendering code needs to set a valid uniform buffer for this slot.

Edit: I just updated my material to use the substrate slab, and now I see the exact same error message as OP.

LogWindows: Error: Uniform buffer bound to slot 2 is not what the shader expected:
LogWindows: Error: 	Bound                : Uniform Buffer[FSceneUniformParameters] with Hash[0x008c1f51]
LogWindows: Error: 	Expected             : Uniform Buffer[Substrate] with Hash[0x09701141]
LogWindows: Error: 	Shader Name          : <unknown>
LogWindows: Error: 	Layout CB Size       : 128
LogWindows: Error: 	Layout Num Resources : 10
LogWindows: Error: 	Resource Types       : 16 16 16 16 16 16 16 12 12 8```