Unity’s Built-In Render Pipeline 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.
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 Shading, Unity uses 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 Scene 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 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 masks, 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 Deferred (light prepass) is similar to Deferred Shading, except it uses a different technique with different trade-offs. It does not support the Unity 5 physically based standard shader.
For more details see the Deferred Lighting page.
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.
|Deferred||Forward||Legacy Deferred||Vertex Lit|
|Per-pixel lighting (normal maps, light cookies)||Yes||Yes||Yes||-|
|Real-time shadows||Yes||With caveats||Yes||-|
|Depth & Normal Buffers||Yes||Additional render passes||Yes||-|
|Light Culling Masks||Limited||Yes||Limited||Yes|
|Lighting Fidelity||All per-pixel||Some per-pixel||All per-pixel||All per-vertex|
|Cost of a per-pixel Light||Number of pixels it illuminates||Number of pixels * Number of objects it illuminates||Number of pixels it illuminates||-|
|Number of times objects are normally rendered||1||Number of per-pixel lights||2||1|
|Overhead for simple Scenes||High||None||Medium||None|
|PC (Windows/Mac)||Shader Model 3.0+ & MRT||All||Shader Model 3.0+||All|
|Mobile (iOS/Android)||OpenGL ES 3.0 & MRT, Metal (on devices with A8 or later SoC)||All||OpenGL ES 2.0||All|
|Consoles||XB1, PS4||All||XB1, PS4, 360||-|