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:
LOD block. See assigning a LOD value to a SubShader.Tags block. See ShaderLab: assigning tags to a SubShader.Pass block. See ShaderLab: defining a Pass.PackageRequirements block. This makes Unity only run the SubShader if the required packages are installed. See ShaderLab: specifying package requirements.| 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 |
| 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. |