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
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```