# shaderKeywords

> An array containing names of the local shader keywords that are currently enabled for this ray tracing shader.

## Definition

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

```csharp
public string[] shaderKeywords { get; set; }
```

### Remarks

Shader keywords determine which shader variants Unity uses. For information on working with [local shader keywords](/engine/6000.5/script-reference/unityengine/rendering/localkeyword.md) and [global shader keywords](/engine/6000.5/script-reference/unityengine/rendering/globalkeyword.md) and how they interact, see [Using shader keywords with C# scripts](/engine/6000.5/manual/materials-and-shaders/shaders/writing-custom/shader-writing/sl-multiple-program-variants/shader-keywords-scripts.md).

**Note:** It is more efficient to use [RayTracingShader.enabledKeywords](/engine/6000.5/script-reference/unityengine/rendering/raytracingshader/enabledkeywords.md), which returns an array of [LocalKeyword](/engine/6000.5/script-reference/unityengine/rendering/localkeyword.md) structs.

This example prints the names of all currently enabled local shader keywords for a ray tracing shader.

```csharp
using UnityEngine;
using UnityEngine.Rendering;

public class Example : MonoBehaviour
{
    public RayTracingShader rayTracingShader;

    private void Start()
    {
        foreach (var localKeywordName in rayTracingShader.shaderKeywords)
        {
            Debug.Log("Local shader keyword " + localKeywordName + " is currently enabled");
        }
    }
}
```

Additional Resources: Shader variants and keywords, [LocalKeyword](/engine/6000.5/script-reference/unityengine/rendering/localkeyword.md), [GlobalKeyword](/engine/6000.5/script-reference/unityengine/rendering/globalkeyword.md), [RayTracingShader.EnableKeyword](/engine/6000.5/script-reference/unityengine/rendering/raytracingshader/enablekeyword.md), [RayTracingShader.DisableKeyword](/engine/6000.5/script-reference/unityengine/rendering/raytracingshader/disablekeyword.md), [RayTracingShader.SetKeyword](/engine/6000.5/script-reference/unityengine/rendering/raytracingshader/setkeyword.md), [RayTracingShader.keywordSpace](/engine/6000.5/script-reference/unityengine/rendering/raytracingshader/keywordspace.md), [RayTracingShader.IsKeywordEnabled](/engine/6000.5/script-reference/unityengine/rendering/raytracingshader/iskeywordenabled.md), [RayTracingShader.enabledKeywords](/engine/6000.5/script-reference/unityengine/rendering/raytracingshader/enabledkeywords.md).
