DirectX 12 experimental not working?

Just upgraded to Windows 10, was hoping to give the DirectX 12 API a whirl but even when I place it as the only API in the build settings the app still appears (via systeminfo) to be using DX11.

Is there an undocumented command line parameter to force DX12 Unity - Manual: Command-line arguments

As unity staff replied to you in other threads, you won’t be seeing much difference yet. The code is in place but there’s much work to do. And it probably needs 5.2 or something, and won’t see speed gains until a later version still. How about patience? :slight_smile:

I understand that but as the DirectX 12 (experimental) API feature appears as available I am keen to give it a whirl on my machine (Win 10 DX12 capable GPU/driver).

So if there is a way to ‘enable’ this then would love to try it in Unity 5.1.2p2.

And it looks like it’s an incremental development with 5.2 getting some Rendering pipeline improvements and 5.3 fully supporting DX12 and multi-threaded rendering*.

*may change.

Nope. When it becomes available to you it will be in the place where you choose between dx9/dx11.

Yep it’s here look →

I’m not asking for a not yet available roadmap feature.

Just asking if I’m missing a trick with using DX12 (Experimental).

What’s the point of putting it into that list when it actually isn’t working/operational yet ?

It does say it’s experimental, so it probably works on the UT developers hardware/drivers and test projects (on a good day with the wind blowing in the right direction).

If you’re using Unity 5.1, it will only work on a specific Windows 10 preview build which was available at the time we shipped that version.

Unity 5.2 will come with experimental DX12 support which runs on Windows 10 RTM.

But the real power of DX12 will be unleashed in a later release. Maybe.

1 Like

Wow 5.2 for our first taste of DX12 in Unity!

Don’t get your hopes up :slight_smile: yet.

This still seems to be an issue in 5.4, I am setting the API to DirectX12 and removing the other APIs but it still stays on DX11, is there something Im missing or something else that I need to set?

I am currently running Unity 5.4f3 on Windows 10 Pro x64. My specs are:

Intel Core i7 6700K
16GB of DDR4 RAM
Nvidia GTX 970

I have checked dxdiag and my driver and both state DirectX 12 and DirectX 12_1.

Also is DirectX 12 still supposed to be experimental? The roadmap and release notes just state DirectX 12 and dont mention anything about Experimental.

Sorry for posting here as well (I made a thread before noticing this thread), but I need some advice as quick as possible.

Build to standalone and use SystemInfo to test and display what Graphics API you are using (It might be this call → Unity - Scripting API: SystemInfo.graphicsDeviceType)

There is also a command line option to try and force Unity to use a specific API.

Thanks for the advice Arowx, I am getting the following in my Standalone Player’s output log:

Initialize engine version: 5.4.0f3 (a6d8d714de6f)
d3d12: loaded!
Direct3D:
Version: Direct3D 12 [level 12.1]
Renderer: NVIDIA GeForce GTX 970 (ID=0x13c2)
Vendor: NVIDIA
VRAM: 4007 MB
App VRAM Budget: 3406 MB

So, I guess its working.

I will try SystemInfo as well, just to get a confirmation.

It’s still NOT working even in version 2021.a7 build. I select it, it wants to restart the editor, I allow it, it acts like it is going to work, gets all the way to the last thing in importing project and CRASH!

1 Like