Edit two UE5 engine shader files to add colored penumbra to dynamic shadow transitions using a saturation lerp blend.
Key Takeaways
Targets SubstrateDeferredLighting.ush (Substrate path) or DeferredLightPixelShaders.usf (non-Substrate), both in UE5 Engine Shaders Private.
Core technique: desaturate diffuse luminance then re-saturate via PenumbraSaturation scalar, blending result against SurfaceShadow term at the penumbra boundary.
Works with all dynamic light types including Lumen; no per-light configurability and has no effect on baked lighting.
Stays on Launcher UE5 (no engine rebuild needed); recompile shaders with Ctrl+Shift+. after saving.
Gray or fully-saturated surfaces show no visible effect; wide penumbras required for the color shift to read.