Unity’s Built-In Render Pipeline supports different renderingThe process of drawing graphics to the screen (or to a render texture). By default, the main camera in Unity renders its view to the screen. More info
See in Glossary 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 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 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 includes 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 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 shaderA built-in shader for rendering real-world objects such as stone, wood, glass, plastic and metal. Supports a wide range of shader types and combinations. More info
See in Glossary.
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 | |
---|---|---|---|---|
Features | ||||
Per-pixel lighting (normal maps, light cookies) | Yes | Yes | Yes | - |
Real-time shadows | Yes | With caveats | Yes | - |
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 | Yes | - |
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 | - | Yes | - |
Semi-transparent objects | - | Yes | - | Yes |
Anti-Aliasing | - | Yes | - | Yes |
Light Culling Masks | Limited | Yes | Limited | Yes |
Lighting Fidelity | All per-pixel | Some per-pixel | All 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 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 |
Platform Support | ||||
PC (Windows/Mac) | ShaderA small script that contains the mathematical calculations and algorithms for calculating the Color of each pixel rendered, based on the lighting input and the Material configuration. More info See in Glossary 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 | - |