文档 / 功能介绍

Unity Player 命令行参数参考

你可以从命令行启动 Unity Player,并传入参数来修改 Player 的执行方式。

这些参数适用于所有独立平台(Standalone Platform),但 Web 平台 除外。以下内容还列出了各平台的额外要求。

如需了解从命令行启动 Unity 的更多信息,请参阅从命令行运行 Unity


-batchmode

以无头模式(headless mode)运行应用程序。在此模式下,应用程序不会显示任何内容,也不会接受用户输入。


-disable-gpu-skinning

在启动时禁用图形处理器(GPU)蒙皮(Skinning)。蒙皮是将骨骼关节绑定到角色网格或"皮肤"顶点的过程,通常通过 Blender 或 Autodesk Maya 等外部工具完成。更多信息,参见术语表


-dontConnectAcceleratorEvent(仅 UWP)

禁止连接到 AcceleratorKeyEvent。如果你在 XAML 元素的输入方面遇到问题,使用此参数可能会有所帮助。

注意: Unity 无法处理某些键盘按键,例如 F10、Ctrl、Alt 和 Tab。


-force-clamped

-force-glcoreXY 一起使用,可阻止对额外 OpenGL 扩展的检查,使应用程序能够在不同平台之间使用相同的代码路径运行。


-force-d3d11(仅 Windows)

强制应用程序使用 Direct3D 11 进行渲染。


-force-d3d11-bitblt-model(仅 Windows)

在使用 Direct3D 11 时,强制应用程序使用 DXGI BitBlt 模型交换链。更多信息请参阅 <code>PlayerSettings.useFlipModelSwapchain</code>


-force-d3d11-flip-model(仅 Windows)

在使用 Direct3D 11 时,强制应用程序使用 DXGI 翻转模型(flip model)交换链。更多信息请参阅 <code>PlayerSettings.useFlipModelSwapchain</code>


-force-d3d11-no-singlethreaded(仅 Windows 和 UWP)

强制在创建 DirectX 11.0 时不使用 D3D11_CREATE_DEVICE_SINGLETHREADED 标志。


-force-d3d11-singlethreaded(仅 Windows 和 UWP)

强制在创建 DirectX 11.0 时使用 D3D11_CREATE_DEVICE_SINGLETHREADED 标志。


-force-d3d12(仅 Windows)

强制应用程序使用 Direct3D 12 进行渲染。


-force-device-index

通过传入 GPU 的索引,使独立 Player 使用特定的 GPU 设备。此选项支持 D3D11、D3D12、Metal 和 Vulkan 图形 API,但不支持 OpenGL。


-force-driver-type-warp(仅 Windows 和 UWP)

强制使用 DirectX 11.0 驱动程序类型为 WARP 设备。更多信息请参阅微软关于 Windows 高级光栅化平台 的文档。


-force-feature-level-10-0(仅 Windows 和 UWP)

强制使用 DirectX 11.0 功能级别 10.0。


-force-feature-level-10-1(仅 Windows 和 UWP)

强制使用 DirectX 11.0 功能级别 10.1。


-force-feature-level-11-0(仅 Windows 和 UWP)

强制使用 DirectX 11.0 功能级别 11.0。


-force-gfx-direct

强制使用单线程渲染。


-force-glcore

强制应用程序使用 OpenGL 核心配置文件进行渲染。Editor 会尝试使用可用的最新 OpenGL 版本以及 OpenGL 驱动程序暴露的所有 OpenGL 扩展。如果平台不支持 OpenGL,Unity 将使用 Direct3D。


-force-glcoreXY

类似于 -force-glcore,但请求特定的 OpenGL 上下文版本。XY 可接受的值为:32、33、40、41、42、43、44 或 45。


-force-low-power-device(仅 macOS)

使独立 Player 使用低功耗设备。


-force-metal(仅 macOS)

使独立 Player 使用 Metal 作为默认图形 API。


-forceTextBoxBasedKeyboard(仅 UWP)

为 TouchScreenKeyboard 使用基于 TextBox 的实现。此实现允许在默认实现出现问题时切换到其他实现。

注意: 此实现仅对 UWP XAML 应用程序生效。


-force-vulkan

强制应用程序使用 Vulkan 进行渲染。


-force-wayland(仅 Linux)

在运行 Linux Player 时激活实验性的 Wayland 支持。


-logFile

指定 Unity 写入独立 Player 日志文件的路径位置。若未提供此参数时日志文件的默认位置,请参阅日志文件参考

若要输出到控制台,请将路径名指定为 -。在 Windows 上,你可以使用 -logFile 将输出重定向到 <code>stdout</code>,而默认情况下它不会输出到控制台。

如果路径包含空格,请用双引号括起来。某些命令行接口可能即使路径不含空格也要求加引号。

示例(Windows):

"C:\Users\me\Builds\MyGame\MyGame.exe" -logFile "C:\Logs\Player.log"

示例(macOS):

"/Users/me/Builds/MyGame.app/Contents/MacOS/MyGame" -logFile "/Users/me/Logs/Player.log"

示例(Linux):

"/home/me/Builds/MyGame/MyGame" -logFile "/home/me/logs/Player.log"


-log-memory-performance-stats

在关闭 Player 时,向 Player 日志文件中添加详细的内存报告。


-max-async-pso-job-count

设置 Unity 在使用 <code>Experimental.Rendering.ShaderWarmup</code> 预热 着色器(shader,运行在 GPU 上的程序。更多信息,参见术语表)变体时创建管线状态对象(PSO)所使用的并行线程数。

此选项仅在应用程序运行于使用 DirectX 12、Metal 或 Vulkan 图形 API 的平台上才会生效。


-monitor N

在指定的显示器上运行独立 Player,使用从 1 开始的索引号。


-nographics

在批处理模式下使用此参数时,Unity 不会初始化图形设备。这样可以在没有 GPU 的机器上运行自动化工作流。

注意: 在此模式下输出日志会被关闭。


-nolog

禁用 Player 日志记录。有关 Player 日志的内容和位置的更多信息,请参阅日志文件参考


-no-stereo-rendering

关闭立体渲染。


-parentHWND delayed(仅 Windows)

将 Windows 独立应用程序嵌入到另一个应用程序中。使用此参数时,需要将父应用程序的窗口句柄(HWND)传递给 Windows 独立应用程序。

当传递 -parentHWND 'HWND' delayed 时,Unity 应用程序在运行时会被隐藏。你还必须在应用程序中为 Unity 调用微软开发库中的 SetParent。微软的 SetParent 用于嵌入 Unity 窗口。创建 Unity 进程时,Unity 窗口会遵循微软 STARTUPINFO 结构中提供的位置和大小。

要调整 Unity 窗口的大小,请在微软的 GetWindowLongPtr 函数中检查其 GWLP_USERDATA。当图形初始化完成且可以安全调整大小时,其最低位会被设置为 1;当 Unity 启动画面显示完毕后,其次低位会被设置为 1。

更多信息请参见可下载示例:EmbeddedWindow.zip


-popupwindow

将窗口创建为无边框的对话框窗口。此命令在 macOS 上不受支持。


-screen-fullscreen

覆盖默认的全屏状态。该值必须为 0 或 1。


-screen-height

覆盖默认的屏幕高度。该值必须是受支持分辨率中的整数。


-screen-quality

覆盖默认的屏幕质量。示例用法:

/path/to/myGame -screen-quality Beautiful

受支持的选项与质量设置中的名称一致。


-screen-width

覆盖默认的屏幕宽度。该宽度值必须是受支持分辨率中的整数。


-single-instance(仅 Linux 和 Windows)

同一时间只运行一个应用程序实例。如果已有另一个实例在运行,则再次使用 -single-instance 启动应用程序会使现有实例获得焦点。


-systemallocator

强制平台使用系统分配器。如果你想使用地址消毒剂(address sanitizer)等工具来调试内存问题,此选项会很有用。仅应将此选项用于调试目的。


-timestamps

为每条 Player 日志(由独立 Player 创建的 .log 文件,其中包含事件记录,例如脚本执行时间、编译器版本和 AssetImport 时间。日志文件有助于诊断问题。更多信息,参见术语表)消息添加当前时间戳和线程 ID 前缀。


-wait-for-managed-debugger

使 Player 在启动前等待托管调试器附加。会生成一个对话框,显示 Player 的进程 ID。有关托管调试的更多信息,请参阅在 Unity 中调试 C# 代码


-wait-for-native-debugger

使 Player 在启动前等待本机调试器附加。会生成一个对话框,显示 Player 的进程 ID。


-window-mode(仅 Windows)

覆盖全屏窗口模式。可接受的值为 exclusiveborderless。更多信息请参阅Player 设置(用于为 Unity 构建的最终游戏设置各种玩家特定选项。更多信息,参见术语表)。


其他资源

最后更新:2026-08-10 · 阅读 4462 次