Important: The Built-In Render Pipeline is deprecated and will be made obsolete in a future release.
It remains supported, including bug fixes and maintenance, through the full Unity 6.7 LTS lifecycle.
For more information on migration, refer to Migrating from the Built-In Render Pipeline to the Universal Render Pipeline and Render pipeline feature comparison.
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. |