This page describes when a 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) cameraA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
See in Glossary performs the following operations:
In the Universal Render Pipeline (URP), Camera clearing behavior depends on the Camera’s Render Type.
At the start of its render loop, a Camera with the Base Render Type can clear its color buffer to a SkyboxA special type of Material used to represent skies. Usually six-sided. More info
See in Glossary, clear its color buffer to a solid color, or use an uninitialized color buffer. You can define this behavior using the Background Type property in the Camera Inspector when Render Type is set to Base.
Note that the contents of the uninitialized color buffer vary by platform. On some platforms, the unitialized color buffer will contain data from the previous frame. On other platforms, the unitialized color buffer will contain unintialized memory. You should choose to use an unitialized color buffer only if your Camera draws to every pixelThe smallest unit in a computer image. Pixel size depends on your screen resolution. Pixel lighting is calculated at every screen pixel. More info
See in Glossary in the color buffer, and you do not wish to incur the cost of an unnecessary clear operation.
A Base Camera always clears its depth bufferA memory store that holds the z-value depth of each pixel in an image, where the z-value is the depth for each rendered pixel from the projection plane. More info
See in Glossary at the start of each render loop.
At the start of its render loop, an Overlay Camera receives a color buffer containing color data from the previous Cameras in the Camera stack. It does not clear the contents of the color buffer.
At the start of its render loop, an Overlay Camera receives a depth buffer containing depth data from the previous Cameras in the Camera Stack. You can define this behavior using the Clear Depth property in the Camera Inspector when Render Type is set to Overlay.
When Clear Depth is set to true, the Overlay Camera clears the depth buffer and draws its view to the color buffer on top of any existing color data. When Clear Depth is set to false, the Overlay Camera tests against the depth buffer before drawing its view to the color buffer.
If your URP 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 contains multiple Cameras, Unity performs their culling and rendering operations in a predictable order.
Once per frame, Unity performs the following operations:
Unity can render an Overlay Camera’s view multiple times during a frame - either because the Overlay Camera appears in more than one Camera Stack, or because the Overlay Camera appears in the same Camera Stack more than once. When this happens, Unity does not reuse any element of the culling or rendering operation. The operations are repeated in full, in the order detailed above.
Note: In this version of URP, Overlay Cameras and Camera Stacking are supported only when using the Universal Renderer. Overlay Cameras will not perform any part of their rendering loop if using the 2D Renderer.
URP performs several optimizations within a Camera, including rendering order optimizations to reduce overdraw. However, when you use a Camera Stack, you effectively define the order in which those Cameras are rendered. You must therefore be careful not to order the Cameras in a way that causes excessive overdraw.
When multiple Cameras in a Camera Stack render to the same render target, Unity draws each pixel in the render target for each Camera in the Camera Stack. Additionally, if more than one Base Camera or Camera Stack renders to the same area of the same render target, Unity draws any pixels in the overlapping area again, as many times as required by each Base Camera or Camera Stack.
You can use Unity’s Frame Debugger, or platform-specific frame capture and debugging tools, to understand where excessive overdraw occurs in your scene. You can then optimize your Camera Stacks accordingly.