# GlobalKeyword

> Represents a global shader keyword.

## Definition

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

```csharp
public readonly struct GlobalKeyword
```

## Remarks

Shader keywords determine which shader variants Unity uses. You can use a `GlobalKeyword` to enable, disable, or check the state of a **global** shader keyword. For information on working with [local shader keywords](/engine/6000.0/script-reference/unityengine/rendering/localkeyword.md) and global shader keywords and how they interact, see [Using shader keywords with C# scripts](/engine/6000.0/manual/materials-and-shaders/shaders/writing-custom/shader-writing/sl-multiple-program-variants/shader-keywords-scripts.md).

To set the state of a global shader keyword, use [Shader.SetKeyword](/engine/6000.0/script-reference/unityengine/shader/setkeyword.md), [Shader.EnableKeyword](/engine/6000.0/script-reference/unityengine/shader/enablekeyword.md), or [Shader.DisableKeyword](/engine/6000.0/script-reference/unityengine/shader/disablekeyword.md). To get all the global shader keywords that exist, use [Shader.globalKeywords](/engine/6000.0/script-reference/unityengine/shader/globalkeywords.md). To get all the global shader keywords that are enabled, use [Shader.enabledGlobalKeywords](/engine/6000.0/script-reference/unityengine/shader/enabledglobalkeywords.md).

In addition to this, you can also enable or disable a local or global keyword with a `CommandBuffer`. To do this, use [CommandBuffer.SetKeyword](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/setkeyword.md), [CommandBuffer.EnableKeyword](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/enablekeyword.md), or [CommandBuffer.DisableKeyword](/engine/6000.0/script-reference/unityengine/rendering/commandbuffer/disablekeyword.md).

Additional Resources: Shader variants and keywords, [LocalKeyword](/engine/6000.0/script-reference/unityengine/rendering/localkeyword.md).

## Constructors

| Constructor                                                                                                 | Description                                                                                   |
| ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| [GlobalKeyword(System.String)](/engine/6000.0/script-reference/unityengine/rendering/globalkeyword/ctor.md) | Creates and returns a GlobalKeyword struct that represents an existing global shader keyword. |

## Properties

| Property                                                                            | Description                                 |
| ----------------------------------------------------------------------------------- | ------------------------------------------- |
| [name](/engine/6000.0/script-reference/unityengine/rendering/globalkeyword/name.md) | The name of the shader keyword. (Read Only) |

## Static Methods

| Method                                                                                  | Description                                                                                                                                                            |
| --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Create](/engine/6000.0/script-reference/unityengine/rendering/globalkeyword/create.md) | Creates and returns a [GlobalKeyword](/engine/6000.0/script-reference/unityengine/rendering/globalkeyword.md) that represents a new or existing global shader keyword. |
