Version: Unity 6.0 (6000.0)
Language : English
Shader in ShaderLab reference
Properties block reference in ShaderLab

Shader block in ShaderLab reference

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:

Render pipeline compatibility

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

Syntax

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.

Additional resources

Shader in ShaderLab reference
Properties block reference in ShaderLab