Version: 6000.3
语言: 中文
专用服务器要求
专用服务器优化

专用服务器播放器设置

专用服务器播放器的 玩家(Player settings) 是 桌面(Desktop) 目标玩家设置的子集。有关常规播放器设置的说明,请参阅玩家设置设置,可让您为 Unity 构建的最终游戏设置各种特定于玩家的选项。更多信息
请参阅术语表
.

专用服务器播放器设置
专用服务器播放器设置

由于专用服务器的无头和服务器应用程序性质,只有其他设置部分中的选项适用。以下选项不适用:

  • 图标
  • 决议和演示
  • 启动图像
  • 发布设置

其他设置

此部分允许您自定义一系列选项,这些选项分为以下组:

配置

财产 描述
脚本后端 选择要使用的脚本后端。脚本后端决定了 Unity 如何在项目中编译和执行 C# 代码。

  • Mono:将 C# 代码编译为 .NET 公共中间语言 (CIL) ,并使用公共语言运行时执行该 CIL。有关更多信息,请参阅单声道Unity 中使用的脚本后端。更多信息
    请参阅术语表
    .
  • 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++ 编译器的平台上,此选项启用链接时代码生成。使用此配置编译代码可能比使用 Release 配置花费的时间要长得多。建议的最佳做法是,如果构建时间的增加是可以接受的,则使用 Master 配置构建游戏的发布版本。
IL2CPP 堆栈跟踪信息 选择要包含在堆栈跟踪中的信息。有关信息类型的更多详细信息,请参阅使用 IL2CPP 的托管堆栈跟踪

  • 方法名称:在堆栈跟踪中包含每个托管方法。
  • 方法名称、文件名和行号:在堆栈跟踪中包括每个托管方法以及文件和行号信息。

    注意:使用此选项可以增加构建程序的构建时间和最终大小。
使用增量 GC 使用增量垃圾回收器,将垃圾回收分散到多个帧上,以减少与垃圾回收相关的帧持续时间峰值。有关详细信息,请参阅自动内存管理
允许通过 HTTP 下载 指示是否允许通过 HTTP 下载内容。默认选项为“不允许”,因为推荐的协议是 HTTPS,这更安全。

  • 不允许:从不允许通过 HTTP 下载。
  • 开发版本中允许:仅允许在开发版本中通过 HTTP 下载。
  • 始终允许:允许在开发和发布版本中通过 HTTP 下载。
目标最低 macOS 版本 指定支持的最低 macOS 版本,即 10.13.0

API 兼容性级别

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

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

着色器设置

财产 描述
着色器精度模型 选择着色器使用的默认精度。有关详细信息,请参阅在着色器中使用 16 位精度

  • 平台默认值:在移动平台上使用较低的精度,在其他平台上使用完全精度。
  • 统一:如果平台支持,请使用较低的精度。
严格的着色器变体匹配 启用此选项可在播放器内部版本中缺少着色器变体并在控制台中显示错误时使用错误着色器进行渲染。该错误指定用于着色器变体搜索的着色器、子着色器索引、通道和关键字
保持加载的着色器处于活动状态 使所有加载的着色器保持活动状态并防止卸载。

着色器变体加载设置(Shader Variant Loading Settings)

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

财产 描述
默认块大小 (MB) 设置 Unity 存储在所有平台的构建应用程序中的压缩着色器变体数据块的最大大小。默认值为16. 有关更多信息,请参阅着色器加载
默认块计数 设置 Unity 在所有平台上在内存中保留的解压缩块数的默认限制。默认值为0,这意味着没有限制。
覆盖 启用覆盖此构建目标的 默认块大小(Default chunk size) 和 默认块计数(Default chunk count)。
块大小 (MB) 替代此生成目标上的默认块大小 (MB) 的值。
块计数 覆盖此构建目标上的 默认区块计数(Default chunk count) 的值。

脚本编译

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

有关更多详细信息,请参阅平台相关编译
其他编译器参数 将条目添加到此列表,以将其他参数传递给 Roslyn 编译器。为每个附加参数使用一个新条目。
要创建新条目,请单击添加+)。要删除条目,请单击删除-)。
添加所有所需参数
后,单击“应用”以在将来的编译中包含其他参数。单击“恢复”将此列表重置为最近应用的状态。
禁止显示常见警告 指示是否显示 C# 警告 CS0169CS0649
允许“不安全”代码 激活对在预定义程序集中编译“不安全”C# 代码的支持(例如Assembly-CSharp.dll).
对于装配定义文件 (
.asmdef),单击您的.asmdef文件,然后在出现的“检查器”窗口中激活该选项。
使用确定性编译 指示是否使用 -deterministic C# 标志阻止编译。激活此设置后,编译的程序集在每次编译时都是逐字节相同的。

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

优化

财产 描述
启用专用服务器优化 启用此选项可对专用服务器内部版本执行其他优化。有关这些优化的更多信息,请参阅专用服务器优化文档。
预烘焙碰撞网格体(Prebake Collision Meshes) 在构建时将碰撞数据添加到网格体。
预加载资产 设置玩家在启动时加载的资产数组。
要添加新资产,请增加 Size 属性的值,然后在显示的新 元素(Element) 框中设置要加载的资产的引用。
管理剥离级别 选择 Unity 剥离未使用的托管 (C#) 代码的积极程度。当 Unity 构建您的应用程序时,Unity Linker 进程可以从您的项目使用的托管 DLL 中剥离未使用的代码。剥离代码可以使生成的可执行文件更小,但有时可以删除正在使用的代码。

有关这些选项和使用 IL2CPP 剥离字节码的详细信息,请参阅 ManagedStrippingLevel


  • 最小:使用此选项可剥离类库、UnityEngine、Windows 运行时程序集,并复制所有其他程序集。
  • :删除无法访问的托管代码以减少生成大小和 Mono/IL2CPP 生成时间。
  • 中:运行 UnityLinker 以将代码大小减小到超出 Low 所能达到的范围。您可能需要支持自定义link.xml文件,并且某些反射代码路径的行为可能不同。
  • :UnityLinker 将剥离尽可能多的代码。这将进一步减小代码大小,超出 Medium 所能实现的范围,但某些方法的托管代码调试可能不再有效。您可能需要支持自定义link.xml文件,并且某些反射代码路径的行为可能不同。
顶点压缩(Vertex Compression) 设置每个通道的顶点压缩。这会影响项目中的所有网格体。
通常,顶点压缩用于减小内存中网格体数据的大小、减小文件大小并提高 GPU 性能。

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

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

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

堆栈跟踪

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

财产 描述
没有 从未记录任何日志。
仅脚本 仅在运行时记录脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表
.
一直记录。

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

遗产

激活 Clamp BlendShapes (Deprecated) 选项以限制 SkinnedMeshRenderers 中的混合形状权重范围。

捕获日志

激活“捕获启动日志”选项以捕获启动日志以供以后处理(例如,通过第三方日志记录库)。

其他资源

专用服务器要求
专用服务器优化