Quick answer: Unity URP RenderGraph pass omitted from the graph despite being declared? RenderGraph culls passes with no observed output - explicitly mark the pass as having global side effects.
Custom shadow accumulator pass: declared, but not in the frame's pass list.
Mark as global
builder.AllowGlobalStateModification(true);Tells RenderGraph the pass has side effects beyond declared outputs; preserved in culling.
Or declare a hidden output
Output to a no-op buffer. Used downstream; culling sees the dependency.
Validate with the visualizer
RenderGraph Viewer (Window > Analysis > RenderGraph). Pass appears = recorded; absent = culled.
“RenderGraph optimizes via culling. Side-effecting passes need to opt out.”
If your custom pass has side effects, declare them. The culling is aggressive; declaration is the contract.