Custom SRP 7.2 Separate Shadow Passes
Catlike Coding Unity is walking through a Custom SRP 7.2 refactor that pulls shadow handling out of LightingPass and into separate passes. The goal is not a visual change—shadows still render the same—but a cleaner render-graph structure with clearer ownership of shadow setup, recording, and execution.
The first step moves Shadows creation and setup out of LightingPass and into CameraRenderer, which now owns the Shadows instance alongside the post-FX stack. LightingPass.Record is trimmed down so it only returns its own handles, while a new LightResources wrapper bundles lighting and shadow handles behind a single Use() call.
The bigger structural change is the introduction of a dedicated ShadowsPass that forwards work to the Shadows object. It records an unsafe pass, builds the renderer lists, disables culling, and returns shadow handles separately from lighting. LightingPass still needs shadows when reserving light data, but it no longer builds shadow renderer lists itself.
For developers building custom SRPs, the practical takeaway is separation of concerns: shadow code becomes easier to reason about, swap, and expand without tangling it into the lighting pass. The tutorial is using Unity 6000.5.8f1 and follows Custom SRP 7.1.0, so the pattern is directly relevant to anyone maintaining a forward-plus style pipeline in modern Unity.
“Shadows still look the same, but have dedicated passes.”
- what
- Custom SRP 7.2 splits shadow handling into dedicated passes separate from LightingPass.
- who
- Catlike Coding Unity, working through a Unity custom SRP tutorial.
- when
- Built with Unity 6000.5.8f1 and following Custom SRP 7.1.0.
- impact
- Makes shadow setup, recording, and execution easier to maintain in custom render pipelines.
Cleaner SRP structure with no visual regression
Follow Unity updates
See relevant stories in your personalized news feed.
Discussion