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.Close
For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.Close
Unity has ability to use DirectX 11 graphics API, with all the goodies that you expect from it: compute shaders, tessellation shaders, shader model 5.0 and so on.
To enable DirectX 11 for your game builds and the editor, set “Use DX11” option in Player Settings. This option is on by default (i.e. on Windows, your games and editor will try to use DX11, and fallback to DX9 when not available).
Note that DX11 requires Windows Vista or later and at least a DX10-level GPU (preferably DX11-level). Unity editor window title has “<DX11>” at the end when it is actually running in DX11 mode.
Compute shaders allow using GPU as a massively parallel processor. See Compute Shaders page for mode details.
Surface shaders have support for simple tessellation & displacement, see Surface Shader Tessellation page.
When manually writing shader programs, you can use full set of DX11 shader model 5.0 features, including geometry, hull & domain shaders.
Currently some parts of surface shader compilation pipeline do not understand DX11-specific HLSL syntax, so if you’re HLSL features like StructuredBuffers, RWTextures and other non-DX9 syntax, you have to wrap it into a DX11-only preprocessor macro. See Platform Specific Differences page for details.
The following screenshots show examples of what becomes possible with DirectX 11.