Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


IsKeywordEnabled

Checks whether a global shader keyword is enabled.
Read time 2 minutesLast updated 4 days ago

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.CoreModule

IsKeywordEnabled(string)

Checks whether a global shader keyword is enabled.
public static bool IsKeywordEnabled(string keyword)

Parameters

keyword

The name of the GlobalKeyword to check.

Returns

Type

Description

boolReturns true if a global shader keyword with the given name exists, and is enabled. Otherwise, returns false.

Remarks

If a global shader keyword with the given name does not exist, this function returns false. Otherwise, this version of
IsKeywordEnabled
behaves the same as the version that has a GlobalKeyword as its parameter.

IsKeywordEnabled(GlobalKeyword)

Checks whether a global shader keyword is enabled.
public static bool IsKeywordEnabled(in GlobalKeyword keyword)

Parameters

The GlobalKeyword to check.

Returns

Type

Description

boolReturns true if the given global shader keyword is enabled. Otherwise, returns false.

Remarks

Shader keywords determine which shader variants Unity uses. For information on working with local shader keywords and global shader keywords and how they interact, see Using shader keywords with C# scripts.
If you pass a string and a GlobalKeyword with that
name
does not exist in the Shader.keywordSpace, this function returns
false
.
The version of this function that takes a string as a parameter is slower than the version that takes a GlobalKeyword. If you call this function more than once, it is best practice to create a GlobalKeyword struct, cache it, and use that.
This example checks whether a global shader keyword with the name
EXAMPLE_FEATURE_ON
is enabled.
using UnityEngine;using UnityEngine.Rendering;public class GlobalKeywordExample : MonoBehaviour{ private GlobalKeyword exampleFeatureKeyword; private void Start() { exampleFeatureKeyword = GlobalKeyword.Create("EXAMPLE_FEATURE_ON"); if (Shader.IsKeywordEnabled(exampleFeatureKeyword)) { Debug.Log("Global shader keyword " + exampleFeatureKeyword.name + " is currently enabled"); } }}