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:
RenderPipelineManager
API.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.
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:
Refer to Inject a pass using a Scriptable Renderer Feature for more information.
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.