Represents the local keyword space of a Shader or ComputeShader.
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 you declare a shader keyword in the source file for a Shader or ComputeShader, Unity represents the keyword with a LocalKeyword and stores it in a LocalKeywordSpace
.
For a Shader, access the LocalKeywordSpace
with Shader.keywordSpace. It contains:
All keywords declared in the source file. For more information, see Declaring shader keywords.
All keywords declared in dependencies of that source file. This comprises all Shaders that are included via the Fallback command, and all keywords declared in all Passes that are included via the UsePass command.
All keywords that Unity adds automatically. For more information, see Unity's predefined shader keywords.
For a ComputeShader, access the LocalKeywordSpace
with ComputeShader.keywordSpace. It contains all keywords declared in the source file. For more information, see Declaring shader keywords.
Additional resources: Shader variants and keywords, LocalKeyword, GlobalKeyword, ComputeShader.keywordSpace, Shader.keywordSpace.
keywordCount | The number of local shader keywords in this local keyword space. (Read Only) |
keywordNames | An array containing the names of all local shader keywords in this local keyword space. (Read Only) |
keywords | An array containing all LocalKeyword structs in this local keyword space. (Read Only) |
FindKeyword | Searches for a local shader keyword with a given name in the keyword space. |
operator != | Returns true if the local shader keyword spaces are not the same. Otherwise, returns false. |
operator == | Returns true if the local shader keyword spaces are the same. Otherwise, returns false. |