By supporting Direct3D 12, Godot gains support for multiple new platforms, such as:
- Windows Store (UWP).
- Windows on ARM.
- GDK.
- XBox —which can’t be supported officially by Godot, but for which Direct3D 12 support is essential—.
Depending on the complexity of the scene, effects used, etc., this first version of the renderer performs generally worse than the Vulkan one. In some tests, D3D12 has not been able to deliver more than 75% of the Vulkan frames per second. In some other, D3D12 has been able to outperform Vulkan by a small margin. Performance improvements will be ironed out over time.
Expect it to come in Godot 4.3
They claim that they cannot support any consoles for legal reasons: https://godotengine.org/article/godot-consoles-all-you-need-know/
Maybe that’s true, I’m not a lawyer. But Godot’s founders own one of the companies that provide console support: https://lonewolftechnology.com/
It could be a conflict of interest or an honest way to provide console support in Godot while also being compensated for their work on Godot. After all, food on the table is not open source.
The full list of Godot companies providing console support is here: https://docs.godotengine.org/en/stable/tutorials/platform/consoles.html
Everything is locked down and filled with NDAs when it comes to console development. To access the xbox game development documentation - you need to sign an NDA (https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/getstarted/gc-getstarted-toc). To access the SDK (https://www.microsoft.com/en-us/software-download/gdk) you need to be a “Registered Dev Center Partner” which requires a publisher, fee payment, and agreement (https://learn.microsoft.com/en-us/windows/apps/publish/partner-center/open-a-developer-account). BUT even more specifically section 3 of the public GDK license agreement (https://github.com/microsoft/GDK/blob/Main/LICENSE-EN-US.MD) gives an idea of what you are allowed to do with that SDK code once given access and you can only use the code for “internal” use and only make one copy for backup use. This isnt even getting into how using the GDK makes your app subject to the usage agreement (https://support.microsoft.com/en-us/windows/usage-rules-for-digital-goods-rules-83812b1f-1ecd-9a46-d3a7-ad1eadce49d1).