Hello There!
I know that this is an old thread but…
In UE5.3, I defined a custom material node to fetch the underlying BaseColor from a Transluency Material:
FGBufferData GBData = GetGBufferData(UV, false);
return GBData.BaseColor;
when I connect the node, UE5.3 crash hard:
[2024-07-12T07:56:35.031Z]LogOutputDevice: Error: Ensure condition failed: ShaderTableHash == 0 || UniformBufferHash == ShaderTableHash [File:D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp] [Line: 77]
[2024-07-12T07:56:35.031Z]LogOutputDevice: Error: Invalid uniform buffer FOpaqueBasePassUniformParameters bound on PixelShader at index 2.
[2024-07-12T07:56:35.031Z]LogStats: FDebug::EnsureFailed - 0.000 s
Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\RHICore\Public\RHICoreShader.h] [Line: 147]
Uniform buffer bound to slot 2 is not what the shader expected:
Bound : Uniform Buffer[FOpaqueBasePassUniformParameters] with Hash[0x09880f28]
Expected : Uniform Buffer[SceneTexturesStruct] with Hash[0x09700e08]
Shader Name : <unknown>
Layout CB Size : 2432
Layout Num Resources : 49
Resource Types : 9 8 5 8 16 16 16 16 9 8 5 8 16 16 16 16 9 8 5 8 5 8 5 8 5 8 5 8 9 8 5 8 9 8 13 13 9 9 9 9 9 9 9 8 8 8 5 8 16
Also tested:
FScreenSpaceData ScreenSpaceData = GetScreenSpaceData(UV, false);
return ScreenSpaceData.GBuffer.BaseColor;
with exact same results…
Of course, I have no idea what does this mean
Any idea someone?