Version: 2023.1
Language : English
Graphics tiers
Forward rendering path

Rendering paths in the Built-in Render Pipeline

Unity’s Built-In 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
supports different rendering paths. A rendering path is a series of operations related to lighting and shading. Different rendering paths have different capabilities and performance characteristics. Deciding on which rendering path is most suitable for your Project depends on the type of Project, and on the target hardware.

You can choose the rendering path that your Project uses in the Graphics window, and you can override that path for each 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
.

If the GPU on the device running your Project does not support the rendering path that you have selected, Unity automatically uses a lower fidelity rendering path. For example, on a GPU that does not handle Deferred ShadingA rendering path in the Built-in Render Pipeline that places no limit on the number of Lights that can affect a GameObject. All Lights are evaluated per-pixel, which means that they all interact correctly with normal maps and so on. Additionally, all Lights can have cookies and shadows. More info
See in Glossary
, Unity uses 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
.

Forward Rendering

Forward Rendering is the default rendering path in the Built-in Render Pipeline. It is a general-purpose rendering path.

Real-time lights are very expensive to render in forward rendering. To offset this cost, you can choose how many lights Unity should render per-pixel at any one time. Unity renders the rest of the lights in the 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
at lower fidelity: per-vertex, or per-object.

If your project does not use a large amount of real-time lights, or if lighting fidelity is not important to your project, then this rendering path is likely to be a good choice for your project.

For more details see the Forward Rendering page.

Deferred Shading

Deferred Shading is the rendering path with the most lighting and shadow fidelity in the Built-in Render Pipeline.

Deferred shading requires GPU support, and has some limitations. It does not support semi-transparent objects (Unity renders these using forward rendering), orthographic projection (Unity uses forward rendering for these Cameras), or hardware anti-aliasing (although you can use a post-process effect to achieve similar results). It has limited support for culling masksAllows you to include or omit objects to be rendered by a Camera, by Layer.
See in Glossary
, and treats the Renderer.receiveShadows flag as always true.

If your project has a large number of real-time lights and requires a high level of lighting fidelity, and your target hardware supports deferred shading, then this rendering path might be a good choice for your project.

For more details, including advice on this rendering path’s limitations, see the Deferred Shading page.

Legacy Vertex Lit

Legacy Vertex Lit is the rendering path with the lowest lighting fidelity and no support for real-time shadows. It is a subset of the Forward rendering path.

For more details see the Vertex Lit page.

Rendering Path comparison

Deferred Forward Vertex Lit
Features
Per-pixel lighting (normal maps, light cookies) Yes Yes -
Real-time shadows Yes With caveats -
Reflection ProbesA rendering component that captures a spherical view of its surroundings in all directions, rather like a camera. The captured image is then stored as a Cubemap that can be used by objects with reflective materials. More info
See in Glossary
Yes Yes -
Depth & Normal Buffers Yes Additional render passes -
Soft ParticlesParticles that create semi-transparent effects like smoke, fog or fire. Soft particles fade out as they approach an opaque object, to prevent intersections with the geometry. More info
See in Glossary
Yes - -
Semi-transparent objects - Yes Yes
Anti-Aliasing - Yes Yes
Light Culling Masks Limited Yes Yes
Lighting Fidelity All per-pixel Some per-pixel All per-vertex
Performance
Cost of a per-pixel Light Number of pixelsThe 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
it illuminates
Number of pixels * Number of objects it illuminates -
Number of times objects are normally rendered 1 Number of per-pixel lights 1
Overhead for simple Scenes High None None
Platform Support
PC (Windows/Mac) ShaderA program that runs on the GPU. More info
See in Glossary
Model 3.0+ & MRT
All All
Mobile (iOS/Android) OpenGL ES 3.0 & MRT, Metal All All
Consoles XB1, PS4 All -
Graphics tiers
Forward rendering path