Category는 하위 커맨드의 논리적인 그룹입니다. 주로 렌더링 상태를 “상속”하는 데 사용됩니다. 예를 들어, 셰이더에 여러 서브셰이더가 있을 수 있고, 각각에 대해 안개를 끄거나 블렌딩을 추가로 설정해야 할 수 있습니다. 이 작업에 다음과 같이 카테고리를 사용할 수 있습니다.
Shader "example" {
Category {
Fog { Mode Off }
Blend One One
SubShader {
// ...
}
SubShader {
// ...
}
// ...
}
}
카테고리 블록은 셰이더 파싱(parsing)에만 영향을 미치고, 카테고리 안에 설정된 상태를 모든 하위 블록에 “붙여넣는” 것과 똑같습니다. 셰이더 실행 속도에는 전혀 영향을 미치지 않습니다.