Version: Unity 6.7 Alpha (6000.7)
Language : English
Pass in ShaderLab reference
Name directive in ShaderLab reference

Pass block in ShaderLab reference

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.

To define a Pass in ShaderLab, use a Pass block. This page contains information on using Pass blocks. For information on how a Shader object works, and the relationship between Shader objects, SubShaders and Passes, see Shader object fundamentals.

Inside the Pass block, you can:

Render pipeline compatibility

Feature name Universal Render Pipeline (URP) High Definition Render Pipeline (HDRP) Custom SRP Built-in Render Pipeline
ShaderLab: Pass block Yes Yes Yes Yes

Syntax

Signature Function
Pass
{
    <optional: name>
 <optional: tags>
    <optional: commands>
   <optional: shader code>
}
Defines a Pass.

Additional resources

Pass in ShaderLab reference
Name directive in ShaderLab reference