Unlit
The Unlit Master Stack lets you create shaders that aren't affected by lighting.
Creating an Unlit Shader Graph
To create an Unlit material in Shader Graph, you can either:
Modify an existing Shader Graph.
- Open the Shader Graph in the Shader Editor.
- In Graph Settings, select the HDRP Target. If there isn't one, go to Active Targets, click the Plus button and select HDRP.
- In the Material drop-down, select Unlit.
Create a new Shader Graph. Go to Assets > Create > Shader Graph > HDRP and select Unlit Shader Graph.
Contexts
This Master Stack material type has its own set of Graph Settings. Because of the relationship between settings and Blocks, this has consequences on which Blocks are relevant to the Graph. This section contains information on the Blocks this Master Stack material type adds by default, and which Blocks set properties for this Master Stack material type's Graph Settings.
For more information about the relationship between Graph Settings and Blocks, see Contexts and Blocks.
Vertex Context
Default
When you create a new Unlit Master Stack, the Vertex Context contains the following Blocks by default:
Property | Description | Setting Dependency | Default Value |
---|---|---|---|
Position | The object space vertex position per vertex. | None | CoordinateSpace.Object |
Normal | The object space vertex normal per vertex. | None | CoordinateSpace.Object |
Tangent | The object space vertex tangent per vertex. | None | CoordinateSpace.Object |
Relevant
Depending on the Graph Settings you use, Shader Graph can add the following Blocks to the Vertex Context:
Property | Description | Setting Dependency | Default Value |
---|---|---|---|
Tessellation Factor | The number of subdivisions that a triangle can have. If you want more subdivisions, set this to a higher value. More subdivisions increase the strength of the tessellation effect and further smooths the geometry. Note that higher values also increase the resource intensity of the tessellation effect. To maintain good performance on the Xbox One or PlayStation 4, do not use values greater than 15. This is because these platforms cannot consistently handle this many subdivisions. A value of 1.0 mean no tessellation. | Tessellation enabled | 1 |
Tessellation Displacement | The world space displacement to apply to the world position of mesh vertices after the tessellation process. It is recommended to displace along the world space normal with a displacement map, the displacement map must be sample with a Sample Texture 2D LOD, regular Sample Texture 2D isn't supported. | Tessellation enabled | CoordinateSpace.World |
Fragment Context
Default
When you create a new Unlit Master Stack, the Fragment Context contains the following Blocks by default:
Property | Description | Setting Dependency | Default Value |
---|---|---|---|
Base Color | The base color of the material. | None | Color.grey |
Emission | The color of light to emit from this material's surface. Emissive materials appear as a source of light in your scene. | None | Color.black |
Alpha | The Material's alpha value. This determines how transparent the material is. The expected range is 0 - 1. | None | 1.0 |
Relevant
Depending on the Graph Settings you use, Shader Graph can add the following Blocks to the Fragment Context:
Property | Description | Setting Dependency | Default Value |
---|---|---|---|
Alpha Clip Threshold | The alpha value limit that HDRP uses to determine whether to render each pixel. If the alpha value of the pixel is equal to or higher than the limit, HDRP renders the pixel. If the value is lower than the limit, HDRP does not render the pixel. The default value is 0.5. | Alpha Clipping enabled | 0.5 |
Alpha Clip Threshold Depth Postpass | The alpha value limit that HDRP uses for the transparent depth postpass. If the alpha value of the pixel is equal to or higher than this limit, HDRP renders the pixel. If the value is lower than the limit, HDRP does not render the pixel. The default value is 0.5. | • Alpha Clipping enabled • Transparent Depth Postpass enabled |
0.5 |
Alpha Clip Threshold Depth Prepass | The alpha value limit that HDRP uses for the transparent depth prepass. If the alpha value of the pixel is equal to or higher than this limit, HDRP renders the pixel. If the value is lower than the limit, HDRP does not render the pixel. The default value is 0.5. | • Alpha Clipping enabled • Transparent Depth Prepass enabled |
0.5 |
Alpha Clip Threshold Shadow | The alpha value limit that HDRP uses to determine whether it should render shadows for a pixel. If the alpha value of the pixel is equal to or higher than this limit, HDRP renders the pixel. If the value is lower than the limit, HDRP does not render the pixel. The default value is 0.5. | Use Shadow Threshold enabled | 0.5 |
Depth Offset | The value that the Shader uses to increase the depth of the fragment by. This Block requires you to input the result of the Parallax Occlusion Mapping Node to produce a realistic result. | Depth Offset enabled | 0.0 |
Distortion | The screen space, per-direction amount that HDRP distorts light that passes through the material. For example, if you set this to (1, 0), the output is offset by 1 pixel to the right. | • Distortion enabled | Vector2(0, 0) |
Distortion Blur | The blur intensity of the distortion effect. | • Distortion enabled | 0.0 |
Shadow Tint | The shadow color and opacity. | • Material set to Unlit • Shadow Matte enabled |
Color.black |
Graph Settings
Surface Options
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. |
||
Receive Fog | Indicates whether fog affects the transparent surface. When disabled, HDRP doesn't take this material into account when it calculates the fog in the Scene. | ||
Depth Test | Specifies the comparison function HDRP uses for the depth test. | ||
Depth Write | Indicates whether HDRP writes depth values for GameObjects that use this material. | ||
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. |
||
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. |
||
- 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. |
||
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. |
||
Alpha Clipping |
Indicates whether this material acts like a Cutout Shader. |
||
- Use Shadow Threshold |
Indicates whether HDRP uses another threshold value for alpha clipping shadows. |
||
- 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. |
||
- Exclude from Temporal Upscaling and Anti Aliasing |
Indicates whether the render pipeline excludes this surface from any temporal upscalers (TU) and temporal anti-aliasing (AA). This is useful when the surface looks blurry when TAA or any Temporal Upscaler is enabled and especially useful for animated textures (such as video player in a surface). This setting only works for Transparent surfaces due to the fact that there are no more stencil bits open. |
||
Double-Sided GI | Determines how HDRP handles a material with regards to Double Sided GI. When selecting Auto, Double-Sided GI is enabled if the material is Double-Sided; otherwise selecting On or Off respectively enables or disables double sided GI regardless of the material's Double-Sided option. When enabled, the lightmapper accounts for both sides of the geometry when calculating Global Illumination. Backfaces aren't rendered or added to lightmaps, but get treated as valid when seen from other objects. When using the Progressive Lightmapper backfaces bounce light using the same emission and albedo as frontfaces. (Currently this setting is only available when baking with the Progressive Lightmapper backend.). | ||
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. | ||
- Conservative | Indicates whether HDRP only applies positive depth offsets in order to take advantage of the early depth test mechanic. | ||
Add Custom Velocity | Indicates whether HDRP changes the motion vector according to the provided velocity. HDRP adds the provided velocity (the difference between the current frame position and the last frame position in Object space) to the motion vector calculation. This provides correct motion vector calculations for any procedural geometry that HDRP calculates outside of Shader Graph. The motion vector still takes into account other deformations (for example, skinning or vertex animation). | ||
Tessellation | Tessellation Shaders subdivide the Mesh and add vertices according to the Material’s tessellation options, see the Tessellation documentation. | ||
Shadow Matte | Indicates whether or not the Shader receives shadows. Shadow matte only supports shadow maps. It does not support Screen Space Shadows, Ray-Traced Shadows, or Contact Shadows. |
Distortion
This set of settings only appears if you set Surface Type to Transparent.
Property | Description |
---|---|
Distortion | Indicates whether to distort light that passes through this transparent Material. |
Distortion Blend Mode | Specifies the mode that HDRP uses to blend overlaid distortion surfaces. The options are: • Add: Adds the output distortion value with the current distortion value in the pixel. This is the default mode. • Multiply: Multiplies the output distortion value with the current distortion value in the pixel. • Replace: Replaces the current distortion value in the pixel with the output distortion value. This setting only appears if you enable Distortion. |
Distortion Depth Test | Indicates whether GameObjects that are closer to the Camera hide the distortion effect. Disable this setting to make the distortion effect appear on top of the rendering. This setting only appears if you enable Distortion. |
Distortion Only | Indicates whether to disable the rendering of the GameObject and only render the distortion pass for it. This is useful if you want to distort something without changing its color (for example, hot air distortion). |
Advanced Options
Property | Description |
---|---|
Support Lod Crossfade | Indicates whether HDRP processes dithering when a mesh moves moves from one LOD level to another. |
Add Precomputed Velocity |
Indicates whether to use precomputed velocity information stored in an Alembic file. |
Other top level settings
Property | Description |
---|---|
Support VFX Graph | Indicates whether this Shader Graph supports the Visual Effect Graph. If you enable this property, output contexts can use this Shader Graph to render particles. The internal setup that Shader Graph does to support visual effects happens when Unity imports the Shader Graph. This means that if you enable this property, but don't use the Shader Graph in a visual effect, there is no impact on performance. It only affects the Shader Graph import time. |