专用服务器播放器的播放器设置是桌面目标播放器设置的子集。有关常规播放器设置的描述,请参阅播放器设置。
由于专用服务器的无头和服务器应用程序性质,因此仅适用于其他设置部分的选项。您可以在其他设置 部分找到相关文档:
以下选项不适用于:
此部分可以自定义一系列选项,这些选项分为以下几组:
| 属性 | 描述 | |
|---|---|---|
| Scripting Backend | 选择要使用的脚本后端。脚本后端决定了 Unity 在项目中如何编译和执行 C# 代码。 | |
| Mono | 将 C# 代码编译为 .NET 公共中间语言 (CIL),并通过公共语言运行时执行该 CIL。有关更多信息,请参阅 Mono。 | |
| IL2CPP | 将 C# 代码编译为 CIL,然后将 CIL 转换为 C++ 代码,最终将 C++ 编译成本地机器代码,该代码在运行时直接执行。请参阅 IL2CPP 以了解更多信息。 | |
| API Compatibility Level | 选择项目中可以使用的 .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 以及额外的 API)。当使用的库需要访问 .NET Standard 2.1 未涵盖的 API 时,选择此选项。此选项会生成较大的构建文件,并且额外的 API 可能不被所有平台支持。更多信息,请参阅引用其他类库程序集。 | |
| .NET Standard | 兼容 .NET Standard 2.1。生成较小的构建文件,并提供完整的跨平台支持。 | |
| IL2CPP 代码生成 | 定义 Unity 如何管理 IL2CPP 代码生成。此选项仅在使用 IL2CPP 脚本后端时可用。 | |
| 更快的运行时 | 生成针对运行时性能进行过优化的代码。默认情况下会禁用此设置。 | |
| 更快(更小)的构建 | 生成针对构建大小和迭代进行过优化的代码。此设置生成的代码更少,生成的构建更小,但可能会降低通用代码的运行时性能。当更快的构建时间很重要,例如迭代变更时,请使用此选项。 | |
| C++ Compiler Configuration | 选择用于编译 IL2CPP 生成代码的 C++ 编译器配置。 | |
| Debug | Debug 配置禁用所有优化,这使得代码的编译速度更快,但运行速度较慢。 | |
| Release | Release 配置启用优化,使编译后的代码运行速度更快,生成的二进制文件体积更小,但编译时间会更长。 | |
| Master | Master 配置启用所有可能的优化,以最大限度地提升性能。例如,在使用 MSVC++ 编译器的平台上,此配置会启用链接时代码生成。使用此配置编译代码的时间可能会显著长于 Release 配置。如果可以接受构建时间的增加,Unity 建议使用 Master 配置来构建游戏的发布版本。 | |
| IL2CPP 堆栈跟踪信息 | 选择要包含在堆栈跟踪中的信息。有关信息类型的更多详细信息,请参阅 使用 IL2CPP 的托管堆栈跟踪。 | |
| 方法名称 | 包含堆栈跟踪中的每个托管方法。 | |
| 方法名称、文件名和行号 | 包含堆栈跟踪中每个托管方法的文件和行号信息。注意:使用此选项可以延长构建时间并增加构建程序的最终大小。 | |
| Use incremental GC | 启用增量式垃圾回收器,该功能可将垃圾回收任务分散到多个帧中,从而减少因垃圾回收导致的帧时间峰值。更多信息,请参阅自动内存管理。 | |
| Allow downloads over HTTP (nonsecure) | 表示是否允许通过 HTTP 下载内容。由于建议的协议为 HTTPS,因此默认选项为 Not allowed,这样更安全。 | |
| 不允许 | 不允许通过 HTTP 下载。 | |
| 创建开发版 | 仅允许在开发版中通过 HTTP 下载。 | |
| 始终允许 | 允许在开发和发布版本中通过 HTTP 下载。 | |
| 目标最低 macOS 版本 | 指定了支持的最低 macOS 版本,即 10.13.0 | |
可为所有目标选择 mono API 兼容性级别。有时,第三方 .NET 库会使用 .NET 兼容性级别之外的功能。为了解在这种情况下可能发生的问题以及如何以最佳方法修复问题,请尝试以下建议:
Frameworks/Mono/lib/mono/YOURSUBSET/ 下找到。
| 属性 | 描述 | |
|---|---|---|
| 着色器精度模式 | 选择默认精度着色器使用。有关更多信息,请参阅在着色器中使用 16 位精度。 | |
| 平台默认值 | 在移动端平台上使用较低的精度,在其他平台上使用全精度。 | |
| 统一 | 如果平台支持,请使用较低的精度。 | |
| 严格的着色器变体匹配 | 如果缺少着色器变体并在主机中显示错误,请使用错误着色器。 | |
| 确保加载的着色器处于活动状态 | 确保所有加载的着色器处于活动状态并防止卸载。 | |
使用这些设置可以控制着色器在运行时的内存使用量。
| 属性 | 描述 |
|---|---|
| Default chunk size (MB) | 设置 Unity 在构建的应用程序中为所有平台存储的压缩着色器变体数据块的最大大小。默认值为 16。有关更多信息,请参阅着色器加载。 |
| Default chunk count | 设置 Unity 在所有平台上保留在内存中的解压缩块数量的默认限制。默认值为 0,表示无限制。 |
| Override | 启用此选项可为此构建目标覆盖__默认块大小__和__默认块数量__的设置。 |
| Chunk size (MB) | 覆盖此构建目标上的__默认块大小 (MB)__ 值。 |
| Chunk count | 覆盖此构建目标上的__默认块数量__值。 |
| 属性 | 描述 |
|---|---|
| 脚本定义符号 | 设置自定义编译标志。 有关更多详细信息,请参阅平台依赖的编译。 |
| 其他编译器参数 | 向此列表添加条目以将其他参数传递给 Roslyn 编译器。每增加一个参数,请使用一个新的条目。 要创建新条目,请单击添加 (+)。要删除条目,请单击删除(-)。 添加完所有所需的参数后,单击应用 (Apply) 即可将其他参数包含在未来的编译中。单击恢复 (Revert) 可将此列表重置为最近应用的状态。 |
| 屏蔽常见警告 | 指示是否显示 C# 警告 CS0169 和 CS0649。 |
| 允许“不安全”的代码 | 启用支持在预定义程序集(例如,Assembly-CSharp.dll)中编译“不安全”C# 代码。对于程序集定义文件 ( .asmdef),单击您的其中一个 .asmdef 文件,并在出现的检视器窗口中启用该选项。 |
| 使用确定性编译 | 指示是否阻止使用 -deterministic C# 标志进行编译。启用此设置后,每次编译时,编译后的程序集将逐字节相同。 有关更多信息,请参阅 Microsoft 的确定性编译器选项。 |
| 属性 | 描述 | |
|---|---|---|
| 启用专用服务器优化 | 激活此选项即可在专用服务器构建中执行其他优化。 | |
| Prebake Collision Meshes | 在构建时将碰撞数据添加到网格。 | |
| Preloaded Assets | 设置一个资源数组,供播放器在启动时加载。 要添加新资源,请增加 Size 属性的值,随后在新出现的 Element 槽位中设置要加载的资源引用。 |
|
| Managed Stripping Level | 选择 Unity 剥离未使用托管 (C#) 代码时的激进程度。选项包括 Minimal、Low、Medium 和 High。 在构建应用程序时,Unity Linker 进程可以从项目使用的托管 DLL 中剥离未使用的代码。剥离代码可以显著减小最终生成的可执行文件大小,但有时可能会意外移除正在使用的代码。 有关这些选项以及使用 IL2CPP 进行字节码剥离的更多信息,请参阅 ManagedStrippingLevel。 |
|
| Vertex Compression | 设置每个通道的顶点压缩。此设置会影响项目中的所有网格。 通常,顶点压缩用于减小网格数据在内存中的占用、减小文件大小,并提升 GPU 性能。 有关顶点压缩的配置方法及其限制的详细信息,请参阅压缩网格数据。 |
|
| Optimize Mesh Data | 启用此选项可从用于构建的网格中移除未使用的顶点属性。此功能可减少网格数据量,从而有助于减小构建文件大小、缩短加载时间以及降低运行时内存占用。 警告:如果启用了此设置,应记住不要在运行时更改材质或着色器设置。 请参阅 PlayerSettings.stripUnusedMeshComponents 以了解更多信息。 |
|
| 纹理 MipMap 剥离 | 为所有平台启用 Mipmap 剥离功能。此功能会在构建时从纹理中移除未使用的 Mipmap 级别。Unity 会根据当前平台的 画质设置 来判断哪些 Mipmap 级别未被使用。如果某个 Mipmap 级别在当前平台的所有 画质设置 中均被排除,则 Unity 会在构建时将其从最终构建中移除。如果 QualitySettings.masterTextureLimit 设置为已被移除的 Mipmap 级别,Unity 会自动将其值调整为最近的未被移除的 Mipmap 级别。 | |
通过启用与每种日志类型对应的选项来选择您的首选日志记录类型。
| 属性 | 描述 |
|---|---|
| None | 未记录任何日志。 |
| ScriptOnly | 仅在运行脚本时记录日志。 |
| Full | 始终记录日志。 |
请参阅堆栈跟踪日志以了解更多信息。
启用 __Clamp BlendShapes(已弃用)__选项,以限制 SkinnedMeshRenderers 中混合形状权重的范围。
启用 Capture Startup Logs 选项可捕获启动日志以供后续处理。