可从命令行启动 Unity 播放器,并传递参数来更改播放器的执行方式。
这些参数适用于所有独立平台(Web 平台除外)。下表列出了额外的平台要求。
注意:要使用本页面上的信息,您需要了解如何使用操作系统的命令行界面来启动应用程序以及运行命令行参数。
启动 Unity 播放器应用程序时,命令行参数值的分隔符为单个空格。例如,要将窗口模式设置为无边框,请用 -window-mode borderless。
| 命令 | 详细信息: |
|---|---|
-batchmode |
以“无头 (headless)”模式运行应用程序。在此模式下,应用程序不会显示任何内容也不接受用户输入。它适合用于运行联网应用程序的服务器。 |
-disable-gpu-skinning |
在启动时禁用图形处理单元 (GPU) 蒙皮。 |
-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 模型交换链。有关更多信息,请参阅 PlayerSettings.useFlipModelSwapchain。 |
-force-d3d11-flip-model(仅限 Windows) |
在使用 Direct3D 11 时强制应用程序使用 DXGI 翻转模型交换链。有关更多信息,请参阅 PlayerSettings.useFlipModelSwapchain。 |
-force-d3d11-no-singlethreaded(仅限 Windows 和 UWP) |
强制在不使用 D3D11_CREATE_DEVICE_SINGLETHREADED 标志的情况下创建 DirectX 11.0。 |
-force-d3d11-singlethreaded(仅限 Windows 和 UWP) |
强制在使用 D3D11_CREATE_DEVICE_SINGLETHREADED 标志的情况下创建 DirectX 11.0。 |
-force-d3d12(仅限 Windows) |
强制应用程序使用 Direct3D 12 进行渲染。 |
-force-device-index |
通过向独立平台播放器传递 GPU 设备的索引,使该播放器使用特定 GPU 设备。此选项支持 D3D11、D3D12、Metal 和 Vulkan 图形 API,但不支持 OpenGL。 |
-force-driver-type-warp(仅限 Windows 和 UWP) |
强制使用 DirectX 11.0 驱动程序类型 WARP 设备。有关更多信息,请参阅 Microsoft 的 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 Core 配置文件进行渲染。编辑器会尝试使用可用的最新 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) |
使独立平台播放器使用低功耗设备。 |
-force-metal(仅限 macOS) |
使独立平台播放器使用 Metal 作为默认图形 API。 |
-forceTextBoxBasedKeyboard(仅限 UWP) |
对 TouchScreenKeyboard 使用基于文本框的实现。此实现允许切换到不同的实现,以防默认实现出现问题。 注意:此实现仅对 UWP XAML 应用程序有效。 |
-force-vulkan |
强制应用程序使用 Vulkan 进行渲染。 |
-force-wayland(仅限 Linux) |
运行 Linux 播放器时激活实验性 Wayland 支持。 |
-logFile <pathname> |
指定 Unity 将独立平台播放器日志文件写入的位置。要输出到控制台,请指定 - 为路径名。在 Windows 上,使用 -logfile 将输出定向到 stdout(默认情况下不是控制台)。 |
-log-memory-performance-stats |
在关闭播放器时向播放器日志文件添加详细的内存报告。 |
-max-async-pso-job-count |
设置使用 Experimental.Rendering.ShaderWarmup 预热着色器变体时 Unity 用于创建管线状态对象 (PSO) 的并行线程的数量。仅当应用程序在使用 DirectX 12、Metal 或 Vulkan 图形 API 的平台上运行时,此设置才有效。 |
-monitor N |
在指定的监视器上运行独立平台播放器,该监视器由基于 1 的索引号指示。 |
-nographics |
在批处理模式下使用此参数时,Unity 不会初始化图形设备。这样一来,在没有 GPU 的机器上也可以运行自动化工作流程。 注意:输出日志在此模式下会被关闭。 |
-nolog |
不生成输出日志。不使用此参数时,Unity 会将 output_log.txt 写入 Log Files 文件夹,并在其中打印 Debug.Log 输出。 |
-no-stereo-rendering |
关闭立体渲染。 |
-parentHWND <HWND> delayed(仅限 Windows) |
将 Windows 独立平台应用程序嵌入到另一个应用程序中。使用此参数时,需要将父应用程序的窗口句柄(“HWND”)传递给 Windows 独立平台应用程序。 传递 -parentHWND 'HWND' delayed 时,Unity 应用程序在运行时会被隐藏。此外,还必须在应用程序中从适用于 Unity 的 Microsoft Developer 库中调用 SetParent。Microsoft 的 SetParent 会嵌入 Unity 窗口。当它创建 Unity 进程时,Unity 窗口会采用 Microsoft 的 STARTUPINFO 结构中所提供的位置和大小。要调整 Unity 窗口的大小,请在 Microsoft 的 GetWindowLongPtr 函数中检查其 GWLP_USERDATA。图形初始化时,其最低位设置为 1,并且可以安全地调整大小。在 Unity 启动画面显示完成后,其第二个最低位设置为 1。有关更多信息,请参阅此可下载示例:EmbeddedWindow.zip |
-popupwindow |
将窗口创建为弹出窗口,不带框架。macOS 上不支持该命令。 |
-screen-fullscreen |
覆盖默认的全屏状态。此值必须是 0 或 1。 |
-screen-height |
覆盖默认屏幕高度。此值必须是受支持分辨率中的整数。 |
-screen-quality |
覆盖默认屏幕质量。示例用法为:/path/to/myGame -screen-quality Beautiful。支持的选项与质量设置 (Quality settings) 名称匹配。 |
-screen-width |
覆盖默认屏幕宽度。此宽度值必须是受支持分辨率中的整数。 |
-single-instance(仅限 Linux 和 Windows) |
每次只运行一个应用程序实例。如果另一个实例已在运行,则使用 -single-instance 再次启动应用程序时会聚焦现有实例。 |
-systemallocator |
强制平台使用系统分配器。如果要使用 Address Sanitizer 等工具来调试内存问题,那么这会非常有用。此选项仅应用于调试目的。 |
-timestamps |
以当前时间戳和线程 ID 作为每条播放器日志消息的前缀。 |
-window-mode(仅限 Windows) |
覆盖全屏窗口化模式。接受的值为 exclusive 或 borderless。有关更多信息,请参阅播放器设置。 |