# Shader languages reference

> Reference for ShaderLab, and High Level Shader Language (HLSL) in Unity.

Reference for ShaderLab, and High Level Shader Language (HLSL) in Unity.

| **Page**                                                                                                                          | **Description**                                                                                                                  |
| --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| [ShaderLab language reference](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-reference.md)                     | Reference for ShaderLab.                                                                                                         |
| [HLSL semantics reference](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-hlslsemantics.md)                     | Reference for supported High-Level Shader Language (HLSL) semantics in Unity.                                                    |
| [HLSL pragma directives reference](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-pragma-directives.md)         | Reference for HLSL pragma directives in Unity.                                                                                   |
| [HLSL pragma require command reference](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-pragma-require.md)       | Reference for all the valid values for the `#pragma require` directive.                                                          |
| [HLSL pragma target command reference](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-pragma-target.md)         | Reference for the shader models Unity uses, and the combination of `#pragma require` values that each corresponds to.            |
| [Built-in shader variables reference](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-unity-shader-variables.md) | Reference for the global variables Unity provides for your custom shaders, such as transformation matrices and light parameters. |

## Additional resources

* [Surface Shader language reference for the Built-In Render Pipeline](/engine/6000.0/manual/materials-and-shaders/shaders/writing-shaders-birp/writing-surface/surface-shaders-language-reference.md)
* [Writing shaders in code](/engine/6000.0/manual/materials-and-shaders/shaders/writing-custom/shader-writing.md)
* [Writing custom shaders in URP](/engine/6000.0/manual/materials-and-shaders/shaders/writing-custom-shaders-urp.md)
* [Writing custom shaders in the Built-In Render Pipeline](/engine/6000.0/manual/materials-and-shaders/shaders/writing-shaders-birp.md)
