--- uid: urp-customizing-urp --- # Custom rendering and post-processing Customize and extend the rendering process in the Universal Render Pipeline (URP). Create a custom render pass in a C# script and inject it into the URP frame rendering loop. |Page|Description| |-|-| |[Custom render pass workflow in URP](renderer-features/custom-rendering-pass-workflow-in-urp.md) |Add and inject a custom render pass to change how URP renders a scene or the objects within a scene.| |[Scriptable Render Passes](renderer-features/scriptable-render-passes.md)|Use the Scriptable Render Pass API and the render graph system to create a custom render pass.| |[Scriptable Renderer Features](renderer-features/scriptable-renderer-features/scriptable-renderer-features-landing.md)|Use the `ScriptableRendererFeature` API to inject a custom render pass into the URP frame rendering loop.| |[Compatibility Mode](compatibility-mode.md)|Write a Scriptable Render Pass if you enable **Compatibility Mode (Render Graph Disabled)** in URP graphics settings. Unity no longer develops or improves this rendering path.| ## Additional resources - [Rendering](rendering-in-universalrp.md) - [Render pipeline concepts](urp-concepts.md) - [Pre-built effects (Renderer Features)](urp-renderer-feature.md) - [How to create a custom post-processing effect](post-processing/post-processing-custom-effect-low-code.md)