Version: Unity 6 Preview (6000.0)
Language : English
Render Objects Renderer Feature reference for URP
Render graph system in URP

Custom render pass workflow in URP

A custom render pass is a way to change how the Universal Render PipelineA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info
See in Glossary
(URP) renders a sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
or the objects within a scene. A custom render pass contains your own rendering code, which you insert into the rendering pipeline at an injection point.

To add a custom render pass, complete the following tasks:

Create the code for a custom render pass

To create the code for a custom render pass, write a class that inherits ScriptableRenderPass. In the class, use the render graph API to tell Unity what textures and render targets to use, and what operations to do on them.

Refer to Scriptable Render Passes for more information.

Create a Scriptable Renderer Feature

To add your custom render pass to URP’s frame rendering loop, write a class that inherits ScriptableRendererFeature.

The Scriptable Renderer Feature does the following:

  1. Creates an instance of the custom render pass you created.
  2. Inserts the custom render pass into the rendering pipeline.

Refer to Inject a pass using a Scriptable Renderer Feature for more information.

Use the RenderPipelineManager API

To add your custom render pass to URP’s frame rendering loop, you can also subscribe a method to one of the events in the RenderPipelineManager class.

Refer to Inject a render pass via scripting for more information.

Additional resources

Render Objects Renderer Feature reference for URP
Render graph system in URP