版本:Unity 6 (6000.0)
语言:英语
macOS
macOS 开发

macOS 播放器设置

此页面详细介绍了特定于 macOS 的播放器设置。有关通用播放器设置的说明,请参阅播放器设置允许您为 Unity 生成的最终游戏设置各种特定于播放器的选项。 更多信息
请参阅术语表

您可以在以下部分找到属性的文档

图标

激活覆盖 Windows、Mac 和 Linux设置以分配桌面游戏的自定义图标。您可以上传不同尺寸的图标以适合提供的每个正方形。

分辨率和显示

使用分辨率和显示部分自定义屏幕外观的各个方面。

分辨率

此部分允许您自定义屏幕模式和默认大小。

属性 描述
在后台运行 启用此选项以允许应用程序在失去焦点时在后台运行。禁用后,应用程序在失去焦点时会暂停。
全屏模式 选择全屏模式。这定义了启动时的默认窗口模式。
全屏窗口 将您的应用程序窗口设置为全屏原生显示分辨率,覆盖整个屏幕。此模式也称为无边框全屏。Unity 以脚本设置的分辨率或未设置任何分辨率时的原生显示分辨率渲染应用程序内容,并将其缩放以填充窗口。缩放时,Unity 会在渲染输出中添加黑条以匹配显示纵横比图像比例尺寸的关系,例如其宽度和高度。
请参阅术语表
,以防止内容拉伸。此过程称为Letterboxing。操作系统叠加UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三种 UI 系统。 更多信息
请参阅术语表
显示在全屏窗口的顶部(例如 IME 输入窗口)。所有平台都支持此模式。
独占全屏(仅限 Windows) 设置您的应用程序以保持对显示器的唯一全屏使用。与全屏窗口不同,此模式会更改显示器的操作系统分辨率以匹配应用程序选择的分辨率。此选项仅在 Windows 上受支持。
最大化窗口(仅限 Windows 和 Mac) 将应用程序窗口设置为操作系统的最大化定义。在 Windows 上,它是一个带有标题栏的全屏窗口。在 macOS 上,它是一个带有隐藏菜单栏和停靠栏的全屏窗口。对于其他平台,全屏窗口是默认设置。
窗口模式 将您的应用程序设置为标准的非全屏可移动窗口,其大小取决于应用程序分辨率。在此模式下,窗口默认为可调整大小。使用可调整大小的窗口设置禁用此功能。所有桌面平台都支持此全屏模式。
默认使用原生分辨率 启用此选项以使游戏使用目标机器上使用的默认分辨率。
注意:如果您将全屏模式设置为窗口模式,则此属性不可见。
默认屏幕宽度 以像素为单位设置游戏屏幕的默认宽度。

注意:仅当您将全屏模式设置为窗口模式时,此属性才可见。
默认屏幕高度 以像素为单位设置游戏屏幕的默认高度。

注意:仅当您将全屏模式设置为窗口模式时,此属性才可见。
Mac Retina 支持 启用此选项以启用对 Mac 上的高 DPI(Retina)屏幕的支持。Unity 默认启用此功能。这增强了 Retina 显示屏上的项目,但在处于活动状态时会消耗大量资源。

独立播放器选项

使用此部分指定设置以自定义屏幕。例如,您可以设置用户调整屏幕大小的选项,并指定可以同时运行的实例数。

属性 描述
使用播放器日志 激活此选项以使用调试信息写入日志文件。
警告:如果您计划将您的应用程序提交到 Mac App Store,请保持此选项处于禁用状态。有关更多信息,请参阅发布到 Mac App Store
可调整大小的窗口 激活此选项以允许调整桌面播放器窗口的大小。
注意:如果您禁用此选项,则您的应用程序无法使用窗口模式全屏模式
在后台可见 激活此选项以在使用窗口模式全屏模式时在后台显示应用程序。macOS 上不支持此选项。
允许全屏切换 激活此选项以允许默认的操作系统全屏按键在全屏和窗口模式之间切换。
强制单实例 激活此选项以将桌面播放器限制为一个并发运行实例。
为 D3D11 使用 DXGI 翻转模型交换链 使用翻转模型可确保最佳性能。此设置会影响 D3D11 图形 API。禁用此选项以回退到 Windows 7 样式的 BitBlt 模型。有关更多信息,请参阅PlayerSettings.useFlipModelSwapchain

启动画面图像

使用虚拟现实启动画面图像设置选择虚拟现实虚拟现实 (VR) 使用头显和动作跟踪,将用户沉浸在逼真的图像和声音的人工 3D 世界中。 更多信息
请参阅术语表
显示的自定义启动画面图像。有关常见启动画面设置的信息,请参阅启动画面

其他设置

渲染

使用这些设置自定义 Unity 如何为桌面平台渲染您的游戏。

    
属性 描述
颜色空间 选择用于渲染的颜色空间。有关更多信息,请参阅线性渲染概述
伽马 伽马颜色空间通常用于计算旧硬件上的照明,这些硬件限制为每个通道 8 位的帧缓冲区格式。即使今天的显示器是数字的,它们也可能仍然接收伽马编码的信号作为输入。
线性 线性颜色空间渲染提供更精确的结果。当您选择在线性颜色空间中工作时,编辑器默认为使用sRGB采样。如果您的纹理位于线性颜色空间中,则需要在线性颜色空间中工作并为每个纹理禁用 sRGB 采样。
Windows 自动图形 API 启用此选项以对应用程序运行的 Windows 计算机使用最佳图形 API。禁用它以添加和删除受支持的图形 API。
Mac 自动图形 API 启用此选项以对应用程序运行的 macOS 计算机使用最佳图形 API。禁用它以添加和删除受支持的图形 API。
Linux 自动图形 API 启用此选项以对应用程序运行的 Linux 计算机使用最佳图形 API。禁用它以添加和删除受支持的图形 API。
色域 您可以添加或删除用于渲染的色域。单击加号 (+) 图标以查看可用色域的列表。色域定义了给定设备(例如显示器或屏幕)可用的颜色范围。sRGB 色域是默认(也是必需的)色域。
Metal API 验证 启用此选项以使用编辑器内工具调试着色器问题。在绘制调用时,该工具会检查着色器预期纹理和缓冲区与附加的纹理和缓冲区,并确认其兼容性。检查结果可在控制台中查看。

Metal API 验证不会启用 Apple 的Metal API 验证,但您可以通过在“构建设置”窗口中将在 Xcode 中运行方式设置为调试来启用它,以用于macOSiOS

注意:此设置仅在 macOS 上运行编辑器时才会出现。
Metal 只写后缓冲区 允许在非默认设备方向下提高性能。这会设置后缓冲区上的frameBufferOnly标志,从而阻止从后缓冲区读取并启用某些驱动程序优化。
在 Metal 上强制使用硬阴影 启用此选项以强制 Unity 在 Metal 上对阴影使用点采样。这会降低阴影质量,从而提高性能。
无内存深度 选择何时使用无内存渲染纹理。无内存渲染纹理在渲染时临时存储在片上内存中,而不是在 CPU 或 GPU 内存中。这减少了应用程序的内存使用量,但您无法读取或写入这些渲染纹理。

注意:无内存渲染纹理仅在 iOS、tvOS 10.0+、Metal 和 Vulkan 上受支持。在其他平台上,渲染纹理受到读/写保护并存储在 CPU 或 GPU 内存中。
未使用 从不使用无内存帧缓冲区深度。
强制 始终使用无内存帧缓冲区深度。
自动 让 Unity 决定何时使用无内存帧缓冲区深度。
静态批处理 启用此选项以使用静态批处理Unity 使用的一种技术,用于在屏幕上绘制游戏对象,该技术将静态(非移动)游戏对象组合成大型网格,并以更快的速度渲染它们。 更多信息
请参阅术语表
动态批处理 在您的构建中使用动态批处理一个自动的 Unity 进程,尝试将多个网格渲染为单个网格,以优化图形性能。该技术在 CPU 上转换所有游戏对象顶点,并将许多类似的顶点组合在一起。 更多信息
请参阅术语表
(默认启用)。

注意:可脚本化渲染管线处于活动状态时,动态批处理无效,因此仅当可脚本化渲染管线资源图形设置为空白时,此设置才可见。
精灵批处理阈值 控制批处理时使用的最大顶点阈值。
GPU 骨骼蒙皮 启用使用着色器在 GPU 上计算网格骨骼蒙皮和混合形状。
图形作业 将图形任务(渲染循环)卸载到在其他 CPU 内核上运行的工作线程。此选项减少了在主线程上花费在Camera.Render上的时间,这可能是一个瓶颈。
光照贴图编码 定义光照贴图的编码方案和压缩格式。
您可以选择低质量正常质量高质量
HDR 立方体贴图编码 定义 HDR 立方体贴图的编码方案和压缩格式。
您可以选择低质量正常质量高质量。有关更多信息,请参阅光照贴图:技术信息
光照贴图流式传输

启用此选项以对光照贴图使用Mipmap 流式传输。Unity 在生成光照贴图时会将此设置应用于所有光照贴图。
注意:要使用此设置,必须启用纹理 Mipmap 流式传输质量设置。
流式传输优先级 设置Mipmap 流式传输系统中所有光照贴图的优先级。Unity 在生成光照贴图时会将此设置应用于所有光照贴图。
正数表示更高的优先级。有效值范围为-128127
帧时序统计 启用此选项以收集 CPU/GPU 帧时序统计信息。
OpenGL:探查器 GPU 记录器 使用 OpenGL 渲染时启用探查器记录器。
允许 HDR 显示输出 应用程序运行时激活 HDR 模式输出。这仅适用于支持此功能的显示器。如果显示器不支持 HDR 模式,则游戏将在标准模式下运行。
交换链位深度 选择交换链缓冲区中每个颜色通道的位数。您可以选择位深度 10位深度 16。仅当启用 HDR 模式时,才能选择位深度的选项。

有关位深度的更多信息,请参阅D3DHDRDisplayBitDepth的脚本 API 页面。
位深度 10 Unity 将使用 R10G10B10A2 缓冲区格式和 Rec2020 原色,并使用 ST2084 PQ 编码。
位深度 16 Unity 将使用 R16G16B16A16 缓冲区格式和 Rec709 原色,并使用线性颜色(无编码)。
虚拟纹理 如果您的场景包含许多高分辨率纹理,则启用此选项以减少 GPU 内存使用量和纹理加载时间。有关更多信息,请参阅虚拟纹理

注意:此设置生效需要重新启动 Unity 编辑器。
360 立体声捕捉 指示 Unity 是否可以捕捉立体声 360 图像和视频。启用后,Unity 会编译其他着色器变体以支持 360 捕捉(目前仅在 Windows/OSX 上)。enable_360_capture 关键字在RenderToCubemap 调用期间添加,但在此函数外部不会触发。
加载/存储操作调试模式 突出显示可能导致移动平台上渲染问题的未定义像素。这会影响 Unity 编辑器游戏视图,以及如果在构建设置中选择开发构建,则会影响您的构建应用程序。有关更多信息,请参阅LoadStoreActionDebugModeSettings

Vulkan 设置

属性 描述
sRGB 写入模式 启用此选项以允许Graphics.SetSRGBWrite()渲染器在运行时切换 sRGB 写入模式。使用此功能可停用线性到 sRGB 写入颜色转换。
交换链缓冲区数量 将此选项设置为 2 以进行双缓冲,或设置为 3 以进行三缓冲以与 Vulkan 渲染器一起使用。此设置可能有助于某些平台上的延迟,但通常您不应该将此设置从默认值 3 更改。双缓冲可能会对性能产生负面影响。
尽可能晚地获取交换链图像 启用此功能可在帧渲染到屏幕外暂存图像后获取后缓冲区。启用此设置会在呈现后缓冲区时添加额外的 blit 操作。此设置与双缓冲结合使用可以提高性能。但是,它也可能导致性能问题,因为额外的 blit 使用额外的带宽。
回收命令缓冲区 启用此选项可在 Unity 执行CommandBuffers后回收它们。

Mac App Store 选项

属性 描述
覆盖默认捆绑包标识符 指示您是否可以手动设置捆绑包标识符。

注意:此设置会影响 macOS、iOS、tvOS 和 Android。
捆绑包标识符 输入应用程序的捆绑包标识符。这在关联的info.plist文件中显示为CFBundleIdentifier。捆绑包标识符必须遵循com.YourCompanyName.YourProductName约定,并且只能包含字母数字和连字符字符。有关更多信息,请参阅CFBundleIdentifier

重要提示:Unity 会自动将您键入的任何无效字符替换为连字符。
构建 输入此版本应用程序的构建编号。这在关联的info.plist文件中显示为CFBundleVersion。有关更多信息,请参阅CFBundleVersion
类别 输入与应用程序类型相对应的字符串。App Store 使用此字符串为应用程序选择合适的分类。默认情况下,这是public.app-category.games。有关更多信息,请参阅LSApplicationCategoryType
Mac App Store 验证 激活此功能,以便您的应用程序只有在拥有来自 Mac App Store 的有效收据时才能运行。这可以防止人们在其他设备上运行游戏。仅当您已实施自己的收据验证时,才取消激活此设置。

发布到 Mac App Store

使用播放器日志属性会创建一个包含调试信息的日志文件,有助于调查游戏中的任何问题。在为 Apple 的 Mac App Store 发布游戏时,请停用此功能,因为如果激活此功能,Apple 可能会拒绝您的提交。有关更多信息,请参阅日志文件使用 Mac App Store 验证属性会激活 Mac App Store 的收据验证。如果激活,您的游戏只有在拥有来自 Mac App Store 的有效收据时才能运行。在将游戏提交给 Apple 以在 App Store 上发布时,请使用此功能。这可以防止人们在不同的计算机上运行游戏。

注意:此功能未实现任何强大的复制保护。特别是,任何针对一个 Unity 游戏的潜在破解都可以用于任何其他 Unity 内容。因此,建议您在此基础上实施自己的收据验证代码,使用 Unity 的插件在 Unity 之外创建的一组代码,用于在 Unity 中创建功能。在 Unity 中可以使用两种类型的插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(特定于平台的原生代码库)。更多信息
请参阅词汇表
功能。由于 Apple 要求在显示屏幕设置对话框之前首先进行插件验证,因此建议激活此属性以避免 Apple 拒绝您的提交。

配置

属性 描述
脚本后端 选择要使用的脚本后端。脚本后端决定 Unity 如何编译和执行项目中的 C# 代码。
Mono 将 C# 代码编译成 .NET 通用中间语言 (CIL),并使用通用语言运行时执行该 CIL。有关更多信息,请参阅MonoUnity 中使用的脚本后端。更多信息
请参阅词汇表
IL2CPP 将 C# 代码编译成 CIL,将 CIL 转换为 C++,然后将该 C++ 编译成原生机器代码,该代码在运行时直接执行。有关更多信息,请参阅IL2CPPUnity 开发的脚本后端,您可以在为某些平台构建项目时将其用作 Mono 的替代方案。更多信息
请参阅词汇表
API 兼容性级别 选择可以在项目中使用的 .NET API。此设置可能会影响与第三方库的兼容性。但是,它对特定于编辑器的代码(编辑器目录中的代码或特定于编辑器的程序集定义中的代码)没有影响。

提示:如果您遇到第三方程序集的问题,可以尝试下面API 兼容性级别部分中的建议。
.Net Framework 与 .NET Framework 4 兼容(包括 .NET Standard 2.0 配置文件中的所有内容以及其他 API)。在使用访问 .NET Standard 2.0 中未包含的 API 的库时,请选择此选项。生成更大的构建,并且任何其他可用的 API 不一定在所有平台上都受支持。有关更多信息,请参阅引用其他类库程序集
.Net Standard 2.1 生成更小的构建,并具有完全的跨平台支持。
编辑器程序集兼容性级别 选择在编辑器程序集中使用的 .NET API。
.NET Framework 与 .NET Framework 4 兼容(包括 .NET Standard 2.1 配置文件中的所有内容以及其他 API)。在使用访问 .NET Standard 2.1 中未包含的 API 的库时,请选择此选项。生成更大的构建,并且任何其他可用的 API 不一定在所有平台上都受支持。有关更多信息,请参阅引用其他类库程序集
.NET Standard .NET Standard 2.1兼容。生成更小的构建,并具有完全的跨平台支持。
IL2CPP 代码生成 定义 Unity 如何管理 IL2CPP 代码生成。

注意:要使用此功能,请将脚本后端设置为IL2CPP
C++ 编译器配置 选择编译 IL2CPP 生成的代码时使用的 C++ 编译器配置。
调试 调试配置关闭所有优化,这使得代码构建速度更快,但运行速度更慢。
发布 发布配置启用优化,因此编译后的代码运行速度更快,二进制文件大小更小,但编译时间更长。
主配置启用所有可能的优化,尽可能地压缩性能。例如,在使用 MSVC++ 编译器的平台上,此选项启用链接时代码生成。使用此配置编译代码可能比使用发布配置花费的时间长得多。如果构建时间增加是可以接受的,Unity 建议使用主配置构建游戏的发布版本。
IL2CPP 堆栈跟踪信息 选择要在堆栈跟踪中包含的信息。有关信息类型的更多详细信息,请参阅使用 IL2CPP 进行托管堆栈跟踪
方法名称 在堆栈跟踪中包含每个托管方法。
方法名称、文件名和行号 在堆栈跟踪中包含每个托管方法以及文件和行号信息。

注意:使用此选项可能会增加构建时间和构建程序的最终大小。
使用增量 GC 使用增量垃圾回收器,该回收器将垃圾回收分散到多个帧中,以减少与垃圾回收相关的帧持续时间峰值。有关更多信息,请参阅自动内存管理
允许通过 HTTP 下载 指示是否允许通过 HTTP 下载内容。默认选项为不允许,因为推荐的协议是 HTTPS,它更安全。
不允许 从不允许通过 HTTP 下载。
在开发版本中允许 仅在开发版本中允许通过 HTTP 下载。
始终允许 在开发版本和发布版本中允许通过 HTTP 下载。
目标最低 macOS 版本 输入应用程序将在其上运行的 macOS 的最低版本。
活动输入处理 选择如何处理用户的输入。
输入管理器(旧版) 使用传统的Input设置。
输入系统包(新版) 使用Input系统。此选项要求您安装InputSystem 包
两者 使用两个系统。

API 兼容性级别

您可以为所有目标选择 mono API 兼容性级别。有时,第三方 .NET 库会使用超出 .NET 兼容性级别的功能。要了解在这种情况下发生了什么以及如何最好地解决它,请尝试遵循以下建议

  1. 为 Windows 安装ILSpy
  2. 将您遇到 API 兼容性问题的 .NET 程序集拖到 ILSpy 中。您可以在 Frameworks/Mono/lib/mono/YOURSUBSET/ 下找到这些程序集。
  3. 拖入您的第三方程序集。
  4. 右键单击您的第三方程序集,然后选择分析
  5. 在分析报告中,检查依赖项部分。该报告以红色突出显示第三方程序集依赖的但您选择的 .NET 兼容级别中不可用的任何内容。

Mac 配置

属性 描述
相机使用说明 输入访问设备上相机的理由。
麦克风使用说明 输入访问设备上麦克风的理由。
蓝牙使用说明 输入访问设备蓝牙连接的理由。
支持的 URL 方案 一个支持的 URL 方案列表。要添加新的方案,请增加大小属性的值,然后在出现的新的元素框中设置对要加载的资源的引用。

着色器设置

属性 描述
着色器精度模型 选择默认的着色器精度。有关更多信息,请参阅在着色器中使用 16 位精度
平台默认值 在移动平台上使用较低精度,在其他平台上使用完整精度。
统一 如果平台支持,则使用较低精度。
严格的着色器变体匹配 如果缺少着色器变体,则使用错误着色器并在控制台中显示错误。
保持加载的着色器处于活动状态 保持所有加载的着色器处于活动状态并阻止卸载。

着色器变体加载设置

使用这些设置来控制着色器在 GPU 上运行的程序。 更多信息
参见词汇表
在运行时使用的内存量。

属性 描述
默认块大小 (MB) 设置 Unity 存储在所有平台的构建应用程序中压缩的着色器变体数据块的最大大小。默认值为 16。有关更多信息,请参阅着色器加载
默认块计数 设置 Unity 在所有平台上保持在内存中的解压缩块数量的默认限制。默认值为 0,这意味着没有限制。
覆盖 启用覆盖此构建目标的默认块大小默认块计数
块大小 (MB) 覆盖此构建目标上默认块大小 (MB)的值。
块计数 覆盖此构建目标上默认块计数的值。

脚本编译

属性 描述
脚本定义符号 设置自定义编译标志。

有关更多信息,请参阅平台相关编译
其他编译器参数 将条目添加到此列表中以将其他参数传递给 Roslyn 编译器。每个其他参数使用一个新条目。
要创建新条目,请单击添加+)。要删除条目,请单击删除-)。

添加所有所需参数后,单击应用以将其他参数包含在将来的编译中。单击恢复将此列表重置为最近应用的状态。
抑制常见警告 指示是否显示 C# 警告CS0169CS0649
允许“不安全”代码 激活对在预定义程序集(例如 Assembly-CSharp.dll)中编译“不安全”C# 代码的支持。
对于程序集定义文件 (.asmdef),请单击其中一个 .asmdef 文件并在出现的检查器窗口中激活该选项。
使用确定性编译 指示是否阻止使用 -deterministic C# 标志进行编译。启用此设置后,每次编译时,编译后的程序集在字节级别上都是相同的。

有关更多信息,请参阅 Microsoft 的确定性编译器选项

优化

属性 描述
预烘焙碰撞网格 在构建时将碰撞数据添加到网格
预加载资源 设置玩家在启动时加载的资源数组。
要添加新的资源,请增加大小属性的值,然后在出现的新的元素框中设置对要加载的资源的引用。
托管剥离级别 选择 Unity 剥离未使用的托管(C#)代码的力度。当 Unity 构建您的应用程序时,Unity Linker 进程可以从您的项目使用的托管 DLL 中剥离未使用的代码。剥离代码可以使生成的执行文件更小,但有时会删除正在使用的代码。

有关这些选项以及使用 IL2CPP 进行字节码剥离的更多信息,请参阅ManagedStrippingLevel
最小 使用此选项剥离类库、UnityEngine、Windows 运行时程序集,并复制所有其他程序集。
删除无法访问的托管代码以减小构建大小并减少 Mono/IL2CPP 构建时间。
运行 UnityLinker 以减小代码大小,使其超出所能达到的程度。您可能需要支持自定义 link.xml 文件,并且某些反射代码路径的行为可能会有所不同。
UnityLinker 将尽可能多地剥离代码。这将进一步减小代码大小,使其超出中所能达到的程度,但某些方法的托管代码调试可能不再有效。您可能需要支持自定义 link.xml 文件,并且某些反射代码路径的行为可能会有所不同。
顶点压缩 设置每个通道的顶点压缩。这会影响项目中的所有网格。
通常,顶点压缩用于减小内存中网格数据的大小、减小文件大小并提高 GPU 性能。

有关如何配置顶点压缩以及此设置的限制的更多信息,请参阅压缩网格数据
优化网格数据 启用此选项可从构建中使用的网格中剥离未使用的顶点属性。此选项减少了网格中的数据量,这有助于减小构建大小、加载时间和运行时内存使用量。

警告:如果启用了此设置,请勿在运行时更改材质或着色器设置。

有关更多信息,请参阅PlayerSettings.stripUnusedMeshComponents
纹理 Mipmap 剥离 为所有平台启用 mipmap 剥离。它在构建时从纹理中剥离未使用的 mipmap 层级。
Unity 通过将 mipmap 层级与当前平台的质量设置进行比较来确定未使用的 mipmap 层级。如果某个 mipmap 层级被当前平台的所有质量设置排除在外,则 Unity 会在构建时从构建中剥离这些 mipmap 层级。如果 QualitySettings.globalTextureMipmapLimit 设置为已剥离的 mipmap 层级,则 Unity 会将该值设置为未剥离的最近 mipmap 层级。

堆栈跟踪

通过启用与每个日志类型对应的选项来选择首选的日志类型。

属性 描述
从不记录日志。
仅脚本 仅在运行脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间推移修改组件属性以及以任何您喜欢的方式响应用户输入。 更多信息
参见词汇表
时记录日志。
完整 始终记录日志。

有关更多信息,请参阅堆栈跟踪日志记录

旧版

属性 描述
钳位混合形状(已弃用) 激活该选项以钳位SkinnedMeshRenderer中混合形状权重的范围。
macOS
macOS 开发