When using Substrate in Blendable GBuffer mode, a material with the single layer water BSDF node produces a shader compiler error :
MaterialEditorStats: Error: [SM6] Shader debug info dumped to: "\Saved\ShaderDebugInfo\PCD3D_SM6\NewMaterial_7d16ee4857da21e\Default\FLocalVertexFactory\TMaterialCHSFNoLightMapPolicy\0"
E:\Epic Games\UE_5.7\Engine\Shaders\Private\RayTracing\RayTracingMaterialHitShaders.usf(551,53): Shader TMaterialCHSFNoLightMapPolicy, Permutation 0, VF FLocalVertexFactory:
/Engine/Private/RayTracing/RayTracingMaterialHitShaders.usf:551:53: error: use of undeclared identifier 'GetSingleLayerWaterMaterialOutput0'
const float3 ScatteringCoeff = max(0.0f, DFDemote(GetSingleLayerWaterMaterialOutput0(MaterialParameters)));
^
MaterialEditorStats: Error: [SM6] E:\Epic Games\UE_5.7\Engine\Shaders\Private\RayTracing\RayTracingMaterialHitShaders.usf(552,53): Shader TMaterialCHSFNoLightMapPolicy, Permutation 0, VF FLocalVertexFactory:
/Engine/Private/RayTracing/RayTracingMaterialHitShaders.usf:552:53: error: use of undeclared identifier 'GetSingleLayerWaterMaterialOutput1'
const float3 AbsorptionCoeff = max(0.0f, DFDemote(GetSingleLayerWaterMaterialOutput1(MaterialParameters)));
^
MaterialEditorStats: Error: [SM6] E:\Epic Games\UE_5.7\Engine\Shaders\Private\RayTracing\RayTracingMaterialHitShaders.usf(553,39): Shader TMaterialCHSFNoLightMapPolicy, Permutation 0, VF FLocalVertexFactory:
/Engine/Private/RayTracing/RayTracingMaterialHitShaders.usf:553:39: error: use of undeclared identifier 'GetSingleLayerWaterMaterialOutput2'
const float PhaseG = clamp(DFDemote(GetSingleLayerWaterMaterialOutput2(MaterialParameters).x), -1.0f, 1.0f);
[Image Removed]
Expected
Shader compiles without errors
Actual
The shader compiler fails with errors
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-384718 in the post.
| 0 |
| Component | UE - Graphics Tools - Terrain - Water |
|---|---|
| Affects Versions | 5.7, 5.8 |
| Created | Jun 16, 2026 |
|---|---|
| Updated | Jun 16, 2026 |