The URP Universal Renderer implements the following Rendering PathsThe technique that a render pipeline uses to render graphics. Choosing a different rendering path affects how lighting and shading are calculated. Some rendering paths are more suited to different platforms and hardware than others. More info
See in Glossary:
Forward RenderingA rendering path that renders each object in one or more passes, depending on lights that affect the object. Lights themselves are also treated differently by Forward Rendering, depending on their settings and intensity. More info
See in Glossary Path.
This section shows the differences between the Rendering Paths in URP.
Feature | Forward | Forward+ | Deferred |
---|---|---|---|
Maximum number of real-time lights per object. | 9 (1 Main Light, and 8 Additional Lights) | Unlimited. The per-Camera limit applies. | Unlimited. The per-Camera limit applies. Transparent objects are rendered using the Forward pass, where the maximum number of real-time lights is 9 (1 Main Light, and 8 Additional Lights). |
Per-pixel normal encoding | No encoding (accurate normal values). | No encoding (accurate normal values). | Two options:
|
MSAA | Yes | Yes | No |
Vertex lighting | Yes | No | No |
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 stacking |
Yes | Yes | Supported with a limitation: Unity renders only the base Camera using the Deferred Rendering Path. Unity renders all overlay Cameras using the Forward Rendering Path. |
The Deferred Rendering Path has the following requirements and limitations on top of the general system requirements for the Unity Player.
Minimum ShaderA program that runs on the GPU. More info
See in Glossary Model: Shader Model 4.5.
Deferred Rendering Path does not support the OpenGL and OpenGL ES API.
If a project with the Deferred Rendering Path is built for platforms using those API, the application falls back to the Forward Rendering Path.
There are per-camera limits on the number of visible lights in all rendering paths.
The Main Light always counts as visible.
The per-camera limits for different Rendering Paths and platforms are:
Forward and Deferred Rendering Paths:
Desktop and console platforms: 1 Main Light, and 256 Additional Lights.
Mobile platforms: 1 Main Light, and 32 Additional Lights.
OpenGL ES 3.0 and earlier: 1 Main Light, and 16 Additional Lights.
Forward+ Rendering Path:
The Forward+ Rendering Path treats all lights (the Main Light and Additional Lights) the same way, which is why the per-camera limits are one light less than in the Forward and Deferred Rendering Paths.
Desktop and console platforms: 256 lights (including the Main Light).
Mobile platforms: 32 lights (including the Main Light).
OpenGL ES 3.0 and earlier: 16 lights (including the Main Light).