To control how shaders behave in different situations, use shaderA program that runs on the GPU. More info
See in Glossary keywords. Each keyword acts as a toggle to change the shader’s behavior.
You can use keywords to do the following:
Use the following steps:
if statement to branch the shader code depending on the state of the keyword.Declare a shader keyword, or a set of shader keywords, using a #pragma statement. The following example defines a set of 2 keywords called RED and GREEN:
#pragma shader_feature RED GREEN
For more information, refer to Declare shader keywords.
Use an if statement to make parts of your shader code execute based on the state of the keyword. For example, use the RED and GREEN keywords to control the color the shader outputs:
void frag() : SV_Target {
    if (RED)
    {
        // Output red
    }
    
    else if (GREEN)
    {
        // Output green
    }
}
For more information, refer to Make shader behavior conditional on keywords.
Note: You can also use HLSL conditional statements like if and preprocessor statements like #if without using shader keywords.
To control the shader from the Editor or at runtime, refer to the following: