Lit Shader
The Lit Shader lets you easily create realistic materials in the High Definition Render Pipeline (HDRP). It includes options for effects like subsurface scattering, iridescence, vertex or pixel displacement, and decal compatibility. For more information about Materials, Shaders, and Textures, see the Unity User Manual.
Creating a Lit Material
To create a new Lit Material, navigate to your Project's Asset window, right-click in the window and select Create > Material. This adds a new Material to your Unity Project’s Asset folder. When you create new Materials in HDRP, they use the Lit Shader by default.
Properties
Surface Options
Surface Options control the overall look of your Material's surface and how Unity renders the Material on screen.
Property | Description |
---|---|
Surface Type | Specifies whether the material supports transparency or not. Materials with a Transparent Surface Type are more resource intensive to render than Materials with an Opaque Surface Type. Depending on the option you select, HDRP exposes more properties. The options are: • Opaque: • Transparent: Simulates a translucent Material that light can penetrate, such as clear plastic or glass. For more information about the feature and for the list of properties each Surface Type exposes, see the Surface Type documentation. |
- Rendering Pass | Specifies the rendering pass that HDRP processes this material in. • Before Refraction: Draws the GameObject before the refraction pass. This means that HDRP includes this Material when it processes refraction. To expose this option, select Transparent from the Surface Type drop-down. • Default: Draws the GameObject in the default opaque or transparent rendering pass pass, depending on the Surface Type. • Low Resolution: Draws the GameObject in half resolution after the Default pass. • After post-process: For Unlit Materials only. Draws the GameObject after all post-processing effects. |
- Blending Mode | Specifies the method HDRP uses to blend the color of each pixel of the material with the background pixels. The options are: • Alpha: Uses the Material’s alpha value to change how transparent an object is. 0 is fully transparent. 1 appears fully opaque, but the Material is still rendered during the Transparent render pass. This is useful for visuals that you want to be fully visible but to also fade over time, like clouds. • Additive: Adds the Material’s RGB values to the background color. The alpha channel of the Material modulates the intensity. A value of 0 adds nothing and a value of 1 adds 100% of the Material color to the background color. • Premultiply: Assumes that you have already multiplied the RGB values of the Material by the alpha channel. This gives better results than Alpha blending when filtering images or composing different layers. This property only appears if you set Surface Type to Transparent. |
- - Preserve Specular Lighting |
Indicates whether to make alpha blending not reduce the intensity of specular highlights. This preserves the specular elements on the transparent surface, such as sunbeams shining off glass or water. This property only appears if you set Surface Type to Transparent. |
- Sorting Priority | Allows you to change the rendering order of overlaid transparent surfaces. For more information and an example of usage, see the Material sorting documentation. This property only appears if you set Surface Type to Transparent. |
- Receive Fog | Indicates whether fog affects the transparent surface. When disabled, HDRP does not take this material into account when it calculates the fog in the Scene. |
- Back Then Front Rendering |
Indicates whether HDRP renders this material in two separate draw calls. HDRP renders the back face in the first draw call and the front face in the second. This property only appears if you set Surface Type to Transparent. |
- Transparent Depth Prepass |
Indicates whether HDRP adds polygons from the transparent surface to the depth buffer to improve their sorting. HDRP performs this operation before the lighting pass and this process improves GPU performance. |
- Transparent Depth Postpass | Indicates whether HDRP adds polygons to the depth buffer that post-processing uses. HDRP performs this operation before the lighting pass. Enabling this feature is useful if you want to use post-processing effects that use depth information, like motion blur or depth of field. |
- Transparent Writes Motion Vectors | Indicates whether HDRP writes motion vectors for transparent GameObjects that use this Material. This allows HDRP to process effects like motion blur for transparent objects. For more information on motion vectors, see the motion vectors documentation. This property only appears if you set Surface Type to Transparent. |
- Depth Write | Indicates whether HDRP writes depth values for GameObjects that use this material. |
- Depth Test | Specifies the comparison function HDRP uses for the depth test. |
- Cull Mode | Specifies the face to cull for GameObjects that use this material. The options are: • Front: Culls the front face of the mesh. • Back: Culls the back face of the mesh. This property only appears if you disable Double Sided. |
Alpha Clipping |
Indicates whether this material acts like a Cutout Shader. For more information about the feature and for the list of properties this feature exposes, see the Alpha Clipping documentation. |
- Threshold | The alpha value limit HDRP uses to determine whether to render each pixel. If the alpha value of the pixel is equal to or higher than the limit then HDRP renders the pixel. If the value is lower than the limit then HDRP does not render the pixel. The default value is 0.5. |
- Use Shadow Threshold |
Indicates whether HDRP uses another threshold value for alpha clipping shadows. This property only appears if you enable Alpha Clipping. |
- - Shadow Threshold |
The alpha value limit that HDRP uses to determine whether it should render shadows for a pixel. This property only appears if you enable Use Shadow Threshold. |
- Alpha to Mask |
Indicates whether to turn on alpha-to-coverage. If your Project uses MSAA, alpha-to-coverage modifies the multi-sample coverage mask proportionally to the pixel shader result alpha value. This is typically used for anti-aliasing vegetation and other alpha-tested shaders. This property only appears if you enable Alpha Clipping. |
- Prepass Threshold |
The alpha value limit HDRP uses for the transparent depth prepass. This works in the same way as the main Threshold property described above. This property only appears when you enable the Transparent Depth Prepass checkbox. |
- Postpass Threshold |
The alpha value limit HDRP uses for the transparent depth postpass. This works in the same way as the main Threshold property described above. This property only appears when you enable the Transparent Depth Postpass checkbox. |
Double Sided | Indicates whether HDRP renders both faces of the polygons in your geometry. For more information about the feature and for the list of properties this feature exposes, see the Double-Sided documentation. |
- Normal Mode | Specifies the mode HDRP uses to calculate the normals for back facing geometry. • Flip: The normal of the back face is 180° of the front facing normal. This also applies to the Material which means that it looks the same on both sides of the geometry. • Mirror: The normal of the back face mirrors the front facing normal. This also applies to the Material which means that it inverts on the back face. This is useful when you want to keep the same shapes on both sides of the geometry, for example, for leaves. • None: The normal of the back face is the same as the front face. This property only appears if you enable Double-Sided. |
Material Type | Specifies a type for the material. This allows you to customize the material with different settings depending on the type you select. The options are: • Subsurface Scattering: Applies the subsurface scattering workflow to the material. Subsurface scattering simulates the way light interacts with and penetrates translucent objects, such as skin or plant leaves. When light penetrates the surface of a subsurface scattering material, it scatters and blurs before exiting the surface at a different point. • Standard: Applies the basic metallic Shader workflow to the material. This is the default Material Type. • Anisotropy: Applies the anisotropic workflow to the material. The highlights of Anisotropic surfaces change in appearance as you view the material from different angles. Use this Material Type to create materials with anisotropic highlights. For example, brushed metal or velvet. • Iridescence: Applies the Iridescence workflow to the material. Iridescent surfaces appear to gradually change color as the angle of view or angle of illumination changes. Use this Material Type to create materials like soap bubbles, iridescent metal, or insect wings. • Specular Color: Applies the Specular Color workflow to the material. Use this Material Type to create Materials with a coloured specular highlight. This is similar to the built-in Specular Shader. • Translucent: Applies the Translucent workflow to the material. Use this Material Type, and a thickness map, to simulate a translucent material. In contrast to Subsurface Scattering materials, Translucent materials do not blur light that transmits through the material. For more information about the feature and for the list of properties each Material Type exposes, see the Material Type documentation. |
- Transmission |
Indicates whether HDRP simulates the translucency of the material using a thickness map. Configure subsurface scattering and transmission settings using a Diffusion Profile. For more information, see documentation on Subsurface Scattering. This property only appears when you select Subsurface Scattering from the Material Type drop-down. |
Receive Decals | Indicates whether HDRP can draw decals on this material’s surface. |
Receive SSR/SSGI | Indicates whether HDRP includes this material when it processes the screen space reflection pass. HDRP also takes this material into account when it calculates screen space global illumination. This property only appears if you set Surface Type to Opaque. |
Receive SSR Transparent | Indicates whether HDRP includes this material when it processes the screen space reflection pass. This property only appears if you set Surface Type to Transparent. |
Geometric Specular AA | Indicates whether HDRP performs geometric anti-aliasing on this material. This modifies the smoothness values on the surfaces of curved geometry to remove specular artifacts. For more information about the feature and for the list of properties this feature exposes, see the Geometric Specular Anti-aliasing documentation. |
- Screen Space Variance | The strength of the geometric specular anti-aliasing effect between 0 and 1. Higher values produce a blurrier result with less aliasing. This property only appears if you enable Geometric Specular AA. |
- Threshold | The maximum value for the offset that HDRP subtracts from the smoothness value to reduce artifacts. This property only appears if you enable Geometric Specular AA. |
Displacement Mode | Specifies the method HDRP uses to alter the height of the Material’s surface. The options are: • None: Applies no displacement to the material. • Vertex displacement: Displaces the mesh's vertices according to the Height Map. • Pixel displacement: Displaces the pixels on the mesh surface according to the Height Map. For more information about the feature and for the list of properties each Displacement Mode exposes, see the Displacement Mode documentation. |
- Lock With Object Scale | Indicates whether to alter the height of the displacement using the Scale of the Transform. This allows you to preserve the ratio between the amplitude of the displacement and the Scale of the Transform. This property only appears if you set Displacement Mode to Vertex Displacement or Pixel Displacement. |
- Lock With Height Map Tiling Rate | Indicates whether to alter the amplitude of the displacement using the tiling of the Height Map. This allows you to preserve the ratio between the amplitude of the displacement and the scale of the Height Map Texture. This property only appears if you set Displacement Mode to Vertex Displacement or Pixel Displacement. |
- Minimum Steps | The minimum number of Texture samples which Unity performs to process pixel displacement. This property only appears if you set Displacement Mode to Pixel Displacement. |
- Maximum Steps | The maximum number of Texture samples which Unity performs to process pixel displacement. This property only appears if you set Displacement Mode to Pixel Displacement. |
- Fading Mip Level Start | The mip level at which the pixel displacement effect begins to fade out. This property only appears if you set Displacement Mode to Pixel Displacement. |
- Primitive Length | The length of the mesh (in meters) on which Unity applies the displacement mapping. This property only appears if you set Displacement Mode to Pixel Displacement. |
- Primitive Width | The width of the mesh (in meters) on which Unity applies the displacement mapping. This property only appears if you set Displacement Mode to Pixel Displacement. |
- Depth Offset | Indicates whether HDRP modifies the depth buffer according to the displacement. This allows effects that use the depth buffer (Contact Shadows for example) to capture pixel displacement details. This property only appears if you set Displacement Mode to Pixel Displacement. |
Vertex Animation
Property | Description |
---|---|
Motion Vector For Vertex Animation | Enable the checkbox to make HDRP write motion vectors for GameObjects that use vertex animation. This removes the ghosting that vertex animation can cause. |
Surface Inputs
Property | Description |
---|---|
Base Map | Assign a Texture that controls both the color and opacity of your Material. To assign a Texture to this field, click the radio button and select your Texture in the Select Texture window. Use the color picker to select the color of the Material. If you do not assign a Texture, this is the absolute color of the Material. If you do assign a Texture, the final color of the Material is a combination of the Texture you assign and the color you select. The alpha value of the color controls the transparency level for the Material if you select Transparent from the Surface Type drop-down. |
Metallic | Use this slider to adjust how "metal-like" the surface of your Material is (between 0 and 1). When a surface is more metallic, it reflects the environment more and its albedo color becomes less visible. At full metallic level, the surface color is entirely driven by reflections from the environment. When a surface is less metallic, its albedo color is clearer and any surface reflections are visible on top of the surface color, rather than obscuring it. This property only appears when you unassign the Texture in the Mask Map. |
Smoothness | Use the slider to adjust the smoothness of your Material. Every light ray that hits a smooth surface bounces off at predictable and consistent angles. For a perfectly smooth surface that reflects light like a mirror, set this to a value of 1. Less smooth surfaces reflect light over a wider range of angles (because the light hits the bumps in the microsurface), so the reflections have less detail and spread across the surface in a more diffused pattern. This property only appears when you unassign the Texture in the Mask Map. |
Metallic Remapping | Use this min-max slider to remap the metallic values from the Mask Map to the range you specify. Rather than clamping values to the new range, Unity condenses the original range down to the new range uniformly. This property only appears when you assign a Mask Map. |
Smoothness Remapping | Use this min-max slider to remap the smoothness values from the Mask Map to the range you specify. Rather than clamping values to the new range, Unity condenses the original range down to the new range uniformly. This property only appears when you assign a Mask Map. |
Ambient Occlusion Remapping | Use this min-max slider to remap the ambient occlusion values from the Mask Map to the range you specify. Rather than clamping values to the new range, Unity condenses the original range down to the new range uniformly. This property only appears when you assign a Mask Map. |
Mask Map | Assign a channel-packed Texture with the following Material maps in its RGBA channels. • Red: Stores the metallic map. • Green: Stores the ambient occlusion map. • Blue: Stores the detail mask map. • Alpha: Stores the smoothness map. For more information on channel-packed Textures and the mask map, see mask map. |
Normal Map Space | Use this drop-down to select the type of Normal Map space that this Material uses. • TangentSpace: Defines the normal map in tangent space. use this to tile a Texture on a Mesh. The normal map Texture must be BC7, BC5, or DXT5nm format. • ObjectSpace: Defines the normal maps in object space. Use this for planar-mapping GameObjects like the terrain. The normal map must be an RGB Texture . |
Normal Map | Assign a Texture that defines the normal map for this Material in tangent space. Use the slider to modulate the normal intensity between 0 and 8. This property only appears when you select TangentSpace from the Normal Map Space drop-down. |
Normal Map OS | Assign a Texture that defines the object space normal map for this Material. Use the handle to modulate the normal intensity between 0 and 8. This property only appears when you select ObjectSpace from the Normal Map Space drop-down. |
Bent Normal Map | Assign a Texture that defines the bent normal map for this Material in tangent space. HDRP uses bent normal maps to simulate more accurate ambient occlusion. Note: Bent normal maps only work with diffuse lighting. This property only appears when you select TangentSpace from the Normal Map Space drop-down.. |
Bent Normal Map OS | Assign a Texture that defines the bent normal map for this Material in object space. HDRP uses bent normal maps to simulate more accurate ambient occlusion. Note: Bent normal maps only work with diffuse lighting. This property only appears when you select ObjectSpace from the Normal Map Space drop-down. |
Coat Mask | Assign a Texture that defines the coat mask for this Material. HDRP uses this mask to simulate a clear coat effect on the Material to mimic Materials like car paint or plastics. The Coat Mask value is 0 by default, but you can use the handle to modulate the clear Coat Mask effect using a value between 0 and 1. |
Base UV Mapping | Use the drop-down to select the type of UV mapping that HDRP uses to map Textures to this Material’s surface. • Unity manages four UV channels for a vertex: UV0, UV1, UV2, and UV3. • Planar: A planar projection from top to bottom. • Triplanar: A planar projection in three directions: X-axis: Left to right Y-axis: Top to bottom Z-axis: Front to back Unity blends these three projections together to produce the final result. |
Tiling | Set an X and Y UV tile rate for all of the Textures in the Surface Inputs section. HDRP uses the X and Y values to tile these Textures across the Material’s surface, in object space. |
Offset | Set an X and Y UV offset for all of the Textures in the Surface Inputs section. HDRP uses the X and Y values to offset these Textures across the Material’s surface, in object. |
Detail Inputs
Property | Description |
---|---|
Detail Map | Specifies a channel-packed Texture that HDRP uses to add micro details into the Material. The Detail Map uses the following channel settings: • Red: Stores the grey scale as albedo. • Green: Stores the green channel of the detail normal map. • Blue: Stores the detail smoothness. • Alpha: Stores the red channel of the detail normal map. For more information on channel-packed Textures and the detail map, see detail map. |
Detail UV Mapping | Specifies the type of UV map to use for the Detail Map. If the Material’s Base UV mapping property is set to Planar or Triplanar, the Detail UV Mapping is also set to Planar or Triplanar. The Detail Map Texture modifies the appearance of the Material so, by default, HDRP applies the Tiling and Offset of the Base UV Map to the Detail Map to synchronize the Detail Map and the rest of the Material Textures. HDRP then applies the Detail Map Tiling and Offset properties on top of the Base Map Tiling and Offset. For example, on a plane, if the Tiling for Base UV Mapping is 2, and this value is also 2, then the Detail Map Texture tiles by 4 on the plane. This workflow allows you to change the Tiling of the Texture on the Material, without having to set the Tiling of the Detail UV too. To separate the Detail UV Map from the Base UV Map to set it independently, disable the Lock to Base Tiling/Offset checkbox. |
- Lock to Base Tiling/Offset | Indicates whether the Base UV Map’s Tiling and Offset properties affect the Detail Map. When enabled, HDRP multiplies these properties by the Detail UV Map’s Tiling and Offset properties respectively. To separate the Detail UV Map from the Base UV Map to set it independently, disable this checkbox. |
Tiling | The per-axis tile rate for the Detail Map UV. HDRP uses the X and Y values to tile the Texture assigned to the Detail Map across the Material’s surface, in object space. |
Offset | The per-axis offset for the Detail Map UV. HDRP uses the X and Y values to offset the Texture assigned to the Detail Map across the Material’s surface, in object space. |
Detail Albedo Scale | Modules the albedo of the detail map (red channel) between 0 and 2. This is an overlay effect. The default value is 1 and applies no scale. |
Detail Normal Scale | Modulates the intensity of the detail normal map (green and alpha channel), between 0 and 2. The default value is 1 and applies no scale. |
Detail Smoothness Scale | Modulate the intensity of the detail smoothness map (blue channel) between 0 and 2. This is an overlay effect. The default value is 1 and applies no scale. |
Transparency Inputs
Unity exposes this section if you select Transparent from the Surface Type drop-down. For information on the properties in this section, see the Surface Type documentation.
Be aware that when you enable Refraction, make sure to set Blend Mode to Alpha, otherwise the effect does not work as expected. If you enable Refraction and use a Blend Mode other than Alpha, a warning displays in the material Inspector.
Also, be aware that HDRP does not support Refraction in the Pre-Refraction render pass. If you enable Refraction and use the Pre-Refraction render pass, a warning displays in the material and Shader Graph Inspector.
Emission inputs
Property | Description |
---|---|
Use Emission Intensity | Enable the checkbox to use a separate LDR color and intensity value to set the emission color for this Material. Disable this checkbox to only use an HDR color to handle the color and emission color intensity. When enabled, this exposes the Emission Intensity property. |
Emission Map | Assign a Texture that this Material uses for emission. You can also use the color picker to select a color that HDRP multiplies by the Texture. If you do not set an emission texture then HDRP only uses the HDR color to calculate the final emissive color of the Material. You can set the intensity of the HDR color within the HDR color picker. |
Emission UV Mapping | Use the drop-down to select the type of UV mapping that HDRP uses for the Emission Map. • Unity manages four UV channels for a vertex: UV0, UV1, UV2, and UV3. • Planar: A planar projection from top to bottom. • Triplanar: A planar projection in three directions: X-axis: Left to right Y-axis: Top to bottom Z-axis: Front to back Unity blends these three projections together to produce the final result. • Same as Base: Unity will use the Base UV Mapping selected in the Surface Inputs. If the Surface has Pixel displacement enabled, this option will apply displacement on the emissive map too. |
- Tiling | Set an X and Y tile rate for the Emission Map UV. HDRP uses the X and Y values to tile the Texture assigned to the Emission Map across the Material’s surface, in object space. |
- Offset | Set an X and Y offset for the Emission Map UV. HDRP uses the X and Y values to offset the Texture assigned to the Emission Map across the Material’s surface, in object space. |
Emission Intensity | Set the overall strength of the emission effect for this Material. Use the drop-down to select one of the following physical light units to use for intensity: • Nits • EV100 |
Exposure Weight | Use the slider to set how much effect the exposure has on the emission power. For example, if you create a neon tube, you would want to apply the emissive glow effect at every exposure. |
Emission Multiply with Base | Enable the checkbox to make HDRP use the base color of the Material when it calculates the final color of the emission. When enabled, HDRP multiplies the emission color by the base color to calculate the final emission color. |
Emission | Toggles whether emission affects global illumination. |
- Global Illumination | The mode HDRP uses to determine how color emission interacts with global illumination. • Realtime: Select this option to make emission affect the result of real-time global illumination. • Baked: Select this option to make emission only affect global illumination during the baking process. • None: Select this option to make emission not affect global illumination. |
Advanced options
Property | Description |
---|---|
Enable GPU Instancing | Enable the checkbox to tell HDRP to render Meshes with the same geometry and Material in one batch when possible. This makes rendering faster. HDRP cannot render Meshes in one batch if they have different Materials, or if the hardware does not support GPU instancing. For example, you cannot static-batch GameObjects that have an animation based on the object pivot, but the GPU can instance them. |
Specular Occlusion Mode | The mode that HDRP uses to calculate specular occlusion. The options are: • Off: Disables specular occlusion. • From AO: Calculates specular occlusion from the ambient occlusion map and the Camera's view vector. • From AO and Bent Normal: Calculates specular occlusion from the ambient occlusion map, the bent normal map, and the Camera's view vector. • Custom: Allows you to specify your own specular occlusion values. |
Add Precomputed Velocity | Indicates whether to use precomputed velocity information stored in an Alembic file. |