Legacy Documentation: Version 2018.2 (Go to current version)
  • C#



Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




Shader compiler used to generate player data shader variants.

In Unity, shader programs are written in a variant of HLSL language.

Each [[wiki:PlatformSpecific|platform] supports one or multiple graphics APIs. For example, Vulkan and Direct3D 12 are both supported in Windows. When building a standalone player, for each supported graphics API, Unity runs a corresponding shader compiler which generates the shader variants and cross-compiles the shader snippet into the shading language natively supported by the graphics API.

See Also: IPreprocessShaders.OnProcessShader, Shader language.


NoneProvide a reasonable value for non initialized variables.
D3DCompiler used with Direct3D 11 and Direct3D 12 graphics API on Windows platforms.
GLES20Compiler used with OpenGL ES 2.0 and WebGL 1.0 graphics APIs on Android, iOS, Windows and WebGL platforms.
GLES3xCompiler used with OpenGL ES 3.x and WebGL 2.0 graphics APIs on Android, iOS, Windows and WebGL platforms.
VitaCompiler used on PlayStation Vita.
PS4Compiler used on PlayStation 4.
XboxOneD3D11Compiler used with Direct3D 11 graphics API on XBox One.
MetalCompiler used with Metal graphics API on macOS, iOS and tvOS platforms.
OpenGLCoreCompiler used with OpenGL core graphics API on macOS, Linux and Windows platforms.
N3DSCompiler used on Nintendo 3DS.
VulkanCompiler used with Vulkan graphics API on Android, Linux and Windows platforms.
SwitchCompiler used on Nintendo Switch.
XboxOneD3D12Compiler used with Direct3D 12 graphics API on XBox One.

Did you find this page useful? Please give it a rating: