# ShaderKeywordSet

> A collection of ShaderKeyword that represents a specific shader variant.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.Rendering](/engine/6000.0/script-reference/unityengine/rendering.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public struct ShaderKeywordSet
```

## Remarks

Additional Resources: [ShaderKeyword](/engine/6000.0/script-reference/unityengine/rendering/shaderkeyword.md), ShaderKeywordSetUtility, [Shader.EnableKeyword](/engine/6000.0/script-reference/unityengine/shader/enablekeyword.md), [Shader.EnableKeyword](/engine/6000.0/script-reference/unityengine/shader/enablekeyword.md), Shader variants and keywords, [Declaring and using shader keywords in HLSL](/engine/6000.0/manual/materials-and-shaders/shaders/writing-custom/shader-writing/sl-multiple-program-variants.md).

## Methods

| Method                                                                                                           | Description                                                            |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| [Disable](/engine/6000.0/script-reference/unityengine/rendering/shaderkeywordset/disable.md)                     | Disable a specific shader keyword.                                     |
| [Enable](/engine/6000.0/script-reference/unityengine/rendering/shaderkeywordset/enable.md)                       | Enable a specific shader keyword.                                      |
| [GetShaderKeywords](/engine/6000.0/script-reference/unityengine/rendering/shaderkeywordset/getshaderkeywords.md) | Return an array with all the enabled keywords in the ShaderKeywordSet. |
| [IsEnabled](/engine/6000.0/script-reference/unityengine/rendering/shaderkeywordset/isenabled.md)                 | Check whether a specific shader keyword is enabled.                    |
