SetKeyword(in GlobalKeyword, bool)
Sets the state of a global shader keyword.
Read time 1 minuteLast updated 4 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
SetKeyword(GlobalKeyword, bool)
public static void SetKeyword(in GlobalKeyword keyword, bool value)
Parameters
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.
When is , this function calls Shader.EnableKeyword. Otherwise, it calls Shader.DisableKeyword.
valuetrueThe following example creates and caches a , and provides a function to toggle its state.
GlobalKeywordusing UnityEngine;using UnityEngine.Rendering;public class GlobalKeywordExample : MonoBehaviour{ private GlobalKeyword exampleFeatureKeyword; private void Start() { // Create and cache the GlobalKeyword exampleFeatureKeyword = GlobalKeyword.Create("EXAMPLE_FEATURE_ON"); } public void ToggleExampleFeature() { // Get the current state of the global keyword bool state = Shader.IsKeywordEnabled(exampleFeatureKeyword); // Toggle the state Shader.SetKeyword(exampleFeatureKeyword, !state); }}
Additional Resources: Shader variants and keywords, LocalKeyword, GlobalKeyword, Shader.EnableKeyword, Shader.DisableKeyword, Shader.IsKeywordEnabled, Shader.enabledGlobalKeywords, Shader.globalKeywords.