# Built-in state variables in shader programs

Often in shader programs you need to access some global state, for example, the current model*view*projection matrix, the current ambient color, and so on. There's no need to declare these variables for the built-in state, you can just use them in shader programs.

## Built-in matrices

Matrices (float4x4) supported:

- UNITY_MATRIX_MVP
- Current model*view*projection matrix
- UNITY_MATRIX_MV
- Current model*view matrix
- UNITY_MATRIX_P
- Current projection matrix
- UNITY_MATRIX_T_MV
- Transpose of model*view matrix
- UNITY_MATRIX_IT_MV
- Inverse transpose of model*view matrix
- UNITY_MATRIX_TEXTURE0 to UNITY_MATRIX_TEXTURE3
- Texture transformation matrices

## Built-in vectors

Vectors (float4) supported:

- UNITY_LIGHTMODEL_AMBIENT
- Current ambient color.