docs.unity3d.com
    Show / Hide Table of Contents

    Shaders and Materials

    The Universal Render Pipeline uses a different shading approach than the Unity built-in Render Pipeline. As a result, built-in Lit and custom Lit Shaders do not work with the URP. Instead, URP has a new set of standard Shaders. URP provides the following Shaders for the most common use case scenarios:

    • Lit
    • Simple Lit
    • Baked Lit
    • Unlit
    • Particles Lit
    • Particles Simple Lit
    • Particles Unlit
    • SpeedTree
    • Autodesk Interactive
    • Autodesk Interactive Transparent
    • Autodesk Interactive Masked

    Upgrade advice: If you upgrade your current Project to URP, you can upgrade built-in Shaders to the new ones. Unlit Shaders from the built-in render pipeline still work with URP.

    For SpeedTree Shaders, Unity does not re-generate Materials when you re-import them, unless you click the Generate Materials or Apply & Generate Materials button.

    Note: Unlit Shaders from the Unity built-in render pipeline work in URP.

    Choosing a Shader

    With the Universal Render Pipeline, you can have real-time lighting with either Physically Based Shaders (PBS) and non-Physically Based Rendering (PBR).

    For PBS, use the Lit Shader. You can use it on all platforms. The Shader quality scales depending on the platform, but keeps physically based rendering on all platforms. This gives you realistic graphics across hardware. The Unity Standard Shader and the Standard (Specular setup) Shaders both map to the Lit Shader in URP. For a list of Shader mappings, see section Shader mappings.

    If you are targeting less powerful devices, or your project has simpler shading, use the Simple Lit shader, which is non-PBR.

    If you don’t need real-time lighting, or would rather only use baked lighting and sample global illumination, choose a Baked Lit Shader.

    If you don’t need lighting on a Material at all, you can choose the Unlit Shader.

    SRP Batcher compatibility

    To ensure that a Shader is SRP Batcher compatible:

    • Declare all Material properties in a single CBUFFER called UnityPerMaterial.
    • Declare all built-in engine properties, such as unity_ObjectToWorld or unity_WorldTransformParams, in a single CBUFFER called UnityPerDraw.

    For more information on the SRP Batcher, see the page Scriptable Render Pipeline (SRP) Batcher.

    Back to top Copyright © 2020 Unity Technologies
    Generated by DocFX
    on 29 January 2021