A Shader object is a Unity-specific concept; it is a wrapper for shader programs and other information. It lets you define multiple shader programs in the same file, and tell Unity how to use them.
A Shader object has a nested structure; it organizes information into structures called SubShaders and Passes.
Inside the Shader block, you can:
Properties block. See ShaderLab: defining material properties.SubShader block. See ShaderLab: defining a SubShader.Fallback block. See ShaderLab: assigning a fallback.| Feature name | Universal Render Pipeline (URP) | High Definition Render Pipeline (HDRP) | Custom SRP | Built-in Render Pipeline |
|---|---|---|---|---|
| ShaderLab: Shader block | Yes | Yes | Yes | Yes |
| Signature | Function |
|---|---|
Shader "<name>"{<optional: Material properties><One or more SubShader definitions><optional: custom editor><optional: fallback>}
|
Defines a Shader object with a given name. |