Unity Now Supports DirectX 12 on Xbox One, Enabling Performance Improvements Across the Board
Unity Technologies announced that it now supports Microsoft’s DirectX 12 API on Xbox One, thus allowing game developers to potentially improve the performance of their projects, mainly thanks to Async Compute.
Unity Technologies also stated that it will focus on improving DirectX 12 performance in 2019 for all platforms, with DirectX 11 finally taking the back seat in priority. Perhaps developers will start using it as the baseline requirement for their upcoming projects, at long last.
DirectX 12 is the latest version of Microsoft’s graphics API designed to enable a reduction of driver overhead, allowing better use of multi-core systems. Depending on your project, you could see some great performance improvements with DirectX 12. For example, with our Book of the Dead: Environment scene we have seen a frame rate increase of over 8% running at 1440p resolution on the Xbox One X.
DirectX 12 on Xbox One brings with it Unity’s new Native Graphics Jobs, which also contributes a significant CPU performance improvement. Alongside these performance benefits, DirectX 12 also brings support for new rendering techniques in Unity, starting with Async Compute, which is available with DirectX 12 on Xbox One out of the box. Async Compute provides valuable GPU performance improvements for any titles that make use of compute on Xbox One.
Enabling DirectX 12
In Unity 2018.3, you will need to enable DirectX 12 to use it. Change your Player Settings located in the Edit menu.
Disable the Auto Graphics API checkbox, add XboxOneD3D12 (Experimental) to the Graphics API list, and then remove XboxOne from the same list.
Throughout 2019 we will make DirectX 12 the default for all new projects. While we will maintain DirectX 11 for the foreseeable future, our primary focus is on improving the performance and feature set of DirectX 12.