You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过脚本获取Unity项目的DirectX版本?

获取Unity项目使用的DirectX版本脚本实现

一、获取当前运行时实际使用的DirectX版本

通过SystemInfo.graphicsDeviceType可以获取当前Unity运行时实际采用的图形API,据此判断DirectX版本:

string GetCurrentDirectXVersion()
{
    switch (SystemInfo.graphicsDeviceType)
    {
        case GraphicsDeviceType.Direct3D9:
            return "DX9";
        case GraphicsDeviceType.Direct3D11:
            return "DX11";
        case GraphicsDeviceType.Direct3D12:
            return "DX12";
        default:
            return "非DirectX环境";
    }
}

// 调用示例
string directXVersion = GetCurrentDirectXVersion();
if (directXVersion == "DX12")
{
    // 执行你的逻辑
}

二、获取项目配置的首选DirectX版本(编辑器工具专用)

如果是开发Unity编辑器工具,需要获取项目PlayerSettings中配置的首选图形API,可使用Editor相关API:

#if UNITY_EDITOR
using UnityEditor;

string GetProjectPreferredDirectXVersion()
{
    // 以Windows平台为例,可根据需求替换为其他BuildTarget
    var graphicsAPIs = PlayerSettings.GetGraphicsAPIs(BuildTarget.StandaloneWindows);
    
    foreach (var api in graphicsAPIs)
    {
        if (api == GraphicsDeviceType.Direct3D12)
            return "DX12";
        if (api == GraphicsDeviceType.Direct3D11)
            return "DX11";
        if (api == GraphicsDeviceType.Direct3D9)
            return "DX9";
    }
    
    return "未配置DirectX作为首选API";
}

// 编辑器环境下调用示例
string preferredDXVersion = GetProjectPreferredDirectXVersion();
if (preferredDXVersion == "DX12")
{
    // 执行编辑器工具逻辑
}
#endif

注意事项

  • 运行时API获取的是当前设备实际启用的DirectX版本,会受硬件兼容性、项目设置、运行平台的影响
  • 编辑器专属API仅能在Unity编辑器内使用,打包后的运行时无法调用

内容的提问来源于stack exchange,提问作者Isaac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 01:25:30