URP AfterRendering now runs after the final blit (Unity 6.2)
Since Unity 6.2, URP passes at RenderPassEvent.AfterRendering run after the final blit to the back buffer. Use AfterRenderingPostProcessing to keep the old placement.
- Status
- Behaviour change in Unity 6.2 · Rendering
- Old
RenderPassEvent.AfterRendering- New
RenderPassEvent.AfterRenderingPostProcessing- Checked
- 2026-10-05, against the sources below
What changed
This one compiles fine and changes what you see. Before Unity 6.2, a pass injected at AfterRendering could run before the final post-processing passes. From 6.2 it always runs after the final blit to the back buffer.
If a custom effect at AfterRendering now looks wrong, or draws on top of UI it used to sit under, move it to AfterRenderingPostProcessing, which Unity's upgrade guide gives as the way to keep the previous behaviour.
Before and after
pass.renderPassEvent = RenderPassEvent.AfterRendering;pass.renderPassEvent = RenderPassEvent.AfterRenderingPostProcessing;Find every place it appears
This change needs a hand edit, but the Unity 6 Script Upgrade Checker points to every line it affects, together with the other changes for your target version.
Open this example in the checkerQuestions
- Why is there no warning for this change?
- Nothing in the API changed: the enum value is the same and the code compiles. Only the moment the pass runs moved, so the change shows up on screen rather than in the Console.
- How do I check where my pass runs now?
- Open the Frame Debugger or the Render Graph Viewer and find your pass in the list. If it appears after the final blit and that is not what you want, inject it at AfterRenderingPostProcessing instead.