Version: 2019.1


struct in UnityEngine

Switch to Manual


Identifies a specific variant of a shader.

In Unity, many shaders internally have multiple "variants", to account for different light modes, lightmaps, shadows and so on. These variants are indentified by a shader pass type, and a set of shader keywords. See ShaderVariantCollection.

Note that creating a ShaderVariant will throw an ArgumentException if shader is null, pass type does not exist or variant with the passed keywords is not found.


keywordsArray of shader keywords to use in this variant.
passTypePass type to use in this variant.
shaderShader to use in this variant.


ShaderVariantCollection.ShaderVariantCreates a ShaderVariant structure.