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.

Related reading