Version: Unity 6 (6000.0)
Language : English
SubShader in ShaderLab reference
LOD directive in ShaderLab reference

SubShader block in ShaderLab reference

To define a SubShader in ShaderLabUnity’s language for defining the structure of Shader objects. More info
See in Glossary
, you use a SubShader block. This page contains information on using SubShader blocks.

Inside the SubShader block, you can:

Render pipeline compatibility

Feature name Universal Render PipelineA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info
See in Glossary
(URP)
High Definition Render Pipeline (HDRP) Custom SRP Built-in Render Pipeline
ShaderLab: SubShader block Yes Yes Yes Yes

Syntax

Signature Function
SubShader
{
    <optional: LOD>
    <optional: tags>
    <optional: commands>
    <One or more Pass definitions>
}
Defines a SubShader.

You can define as many Passes as you like within a SubShader.

Additional resources

SubShader in ShaderLab reference
LOD directive in ShaderLab reference