Legacy Documentation: Version 2018.1 (Go to current version)
Level of Detail (LOD)
Other Versions

Graphics API support

Unity supports DirectX, Metal, OpenGL, and Vulkan graphics APIs, depending on the availability of the API on a particular platform. Unity uses a built-in set of graphics APIs, or the graphics APIs that you select in the Editor.

To use Unity’s default graphics APIs:

  1. Open the Player Settings (menu: Edit > Project Settings > Player).

  2. Navigate to Other Settings and make sure Auto Graphics API is checked:

    Using the default graphics APIs
    Using the default graphics APIs

When Auto Graphics API for a platform is checked, the Player build includes a set of built-in graphics APIs and uses the appropriate one at run time to produce a best case scenario.

When Auto Graphics API for a platform is not checked, the Editor uses the first API in the list. So, for example, to see how your application runs on OpenGL in the Editor, move OpenGLCore to the top of the list and the Editor switches to use OpenGL rendering.

To override the default graphics APIs and use an alternate graphics API for the Editor and Player, uncheck the relevant Auto Graphics API, click the plus (+) button and choose the graphics API from the drop-down menu.

Adding OpenGLCore to the Graphics APIs for Windows list
Adding OpenGLCore to the Graphics APIs for Windows list

The graphics API at the top of the Auto Graphics API list is the default API. If the default API isn’t supported by the specific platform, Unity uses the next API in the Auto Graphics API list.

For information on how graphics rendering behaves between the platforms and Shader language semantics, see Platform-specific rendering differences. Tessellation and geometry shaders are only supported by a subset of graphics APIs. This is controlled by the Shader Compilation Target level.

For graphics API specific information, see documentation on Metal, DirectX and OpenGL.