包含此页的版本:
不含此页的版本:
使用以下推荐的播放器设置来优化 Unity Web 平台的构建。
在 编辑(Edit) > 项目设置(Project settings) > 播放器(Player) 下找到这些设置。有关每个设置的更多信息,请参阅玩家设置设置,用于为 Unity 构建的最终游戏设置各种特定于玩家的选项。更多信息
请参阅术语表.
| 设置 | 推荐设置 | 描述 |
|---|---|---|
| API 兼容性级别 | .NET 标准 2.1 | 产生更小的构建。 |
| IL2CPP 代码生成 | 针对代码大小和构建时间进行优化 | 生成针对构建大小和迭代优化的代码。 |
| 管理剥离级别 | 高 | Unity 执行高级别的托管剥离以创建更小的构建。 |
在“发布设置”部分中配置以下建议设置:
| 设置 | 推荐设置 | 描述 |
|---|---|---|
| 压缩格式 | 布罗特利 | Brotli 压缩的文件更小。 |
| 数据缓存 | 启用 | 运行速度更快,因为缓存的数据不需要在后续运行中再次下载(除非内容已更改)。 |
| 调试符号 | 关闭 | 调试符号可能会减慢应用程序的速度。 |
| 启用例外 | 没有 | 改为启用 Target WebAssembly 2023 以获得无开销的异常。 |
| 目标 WebAssembly 2023 | 使 | 2023 年网络大会功能集 功能集是相关包的集合,可用于在 Unity 编辑器中实现特定结果。您可以直接在 Unity 的包管理器中管理功能集。更多信息 请参阅术语表包含有助于优化项目的功能。 |
| 最大内存大小 (MB) | 输入所需的内存量(以 MB 为单位)。 | Unity Web 支持高达 4096 MB 的内存用于构建。 |
使用 API 兼容性级别设置选择可在项目中使用的 .NET API。建议的设置是 .Net Standard 2.1,因为此设置生成较小的版本并具有跨平台支持。但是,您需要检查您的平台是否完全支持 .Net Standard 2.1。有关其他选项,请参阅 Web 播放器设置。
要改为通过脚本更改 API 兼容性级别,请将此代码添加到您的脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表:
PlayerSettings.SetApiCompatibilityLevel(namedBuildTarget, ApiCompatibilityLevel.NET_2_0);
使用IL2CPP Unity 开发的脚本后端,在为某些平台构建项目时,可以将其用作 Mono 的替代方案。更多信息
请参阅术语表代码生成设置来配置 Unity 如何管理 IL2CPP 代码生成(如果您的项目使用 IL2CPP 脚本后端)。
建议使用“针对代码大小和生成时间进行优化”选项,因为它会创建较小的生成并生成更少的代码,从而缩短生成时间。更快的构建时间在 Web 应用程序中至关重要。但是,此设置可能会降低运行时性能。
有关详细信息,请参阅 IL2CPP 概述。
要改为通过脚本启用此设置,请将以下代码添加到其中一个脚本中:
PlayerSettings.SetIl2CppCodeGeneration(namedBuildTarget,
Il2CppCodeGeneration.OptimizeSize);
使用托管剥离级别配置 Unity 链接器进程从项目使用的托管 DLL 中剥离未使用的代码的程度。建议的设置为“高”,因为剥离代码可以使可执行文件显着变小,这在 Web 应用程序中很重要。然而,可能的副作用可能包括:
某些方法的托管代码调试可能不起作用。
您可能需要维护自定义link.xml文件。
某些反射代码路径的行为可能不同。
有关详细信息,请参阅托管代码剥离。
要改为通过脚本更改此设置,请将以下代码添加到您的其中一个脚本中:
PlayerSettings.SetManagedStrippingLevel(namedBuildTarget,
ManagedStrippingLevel.High);
选择什么压缩一种存储数据的方法,可减少所需的存储空间量。请参阅纹理压缩、动画压缩、音频压缩、构建压缩。
请参阅术语表用于发布构建文件的格式。Brotli 是推荐的设置,因为它具有最佳压缩比,并且 Brotli 压缩的文件比 gzip 小。较小的文件最适合 Web 应用程序。但是,Chrome 和 Firefox 仅在用户通过 HTTPS 访问网站时才支持 Brotli。此外,尽管大多数现代服务器都支持 Brotli,但有些服务器不支持它。确保您的服务器支持 Brotli。
有关压缩格式的更多信息,请参阅部署 Web 应用程序。
要改为通过脚本启用此设置,请将以下代码添加到其中一个脚本中:
PlayerSettings.WebGL.compressionFormat = WebGLCompressionFormat.Brotli;
启用数据缓存,以便 Unity 在用户的计算机上缓存您的内容资产数据。数据缓存可以使应用程序运行得更快。有关详细信息,请参阅 Web 中的缓存行为。
要改为通过脚本启用此设置,请将以下代码添加到其中一个脚本中:
PlayerSettings.WebGL.dataCaching = true;
“调试符号”设置会保留调试符号,并在发生错误时显示堆栈跟踪的原始函数名称,以便更轻松地识别错误源。建议的最佳做法是在最终发布版本上禁用调试符号,因为它会使构建变得不必要地大,并降低应用程序的速度。在开发和测试期间启用此设置,以便更轻松地识别错误来源。
要改为通过脚本停用此设置,请将以下代码添加到您的脚本之一:
PlayerSettings.WebGL.debugSymbolMode = WebGLDebugSymbolMode.Off;
通过启用异常设置,可以选择如何在运行时处理错误。建议的最佳做法是在最终发布版本中选择“无”选项,因为此设置可提供最佳性能和最小版本。
但是,使用此选项时,引发的任何异常都会导致内容因错误而停止,因此最好在开发和测试期间启用异常。 有关更多信息,请参阅 Web 播放器设置。
要改为通过脚本停用异常,请将以下代码添加到您的脚本之一:
PlayerSettings.WebGL.exceptionSupport = WebGLExceptionSupport.None;
WebAssembly 2023 是一系列 WebAssembly 语言功能,可以提高性能并减小代码大小。因此,建议您启用此设置。
要改为通过脚本启用此设置,请将以下代码添加到其中一个脚本中:
PlayerSettings.WebGL.wasm2023 = true;
// PlayerSettings.WebGL.webAssemblyTable = true;
// PlayerSettings.WebGL.webAssemblyBigInt = true;
要启用WebAssembly.Table或BigInt功能,删除第一行代码并删除注释行。
Unity 支持高达 4096 MB 的内存用于构建。对于大多数应用程序,2048 MB 的内存就足够了。但对于更复杂的实时 3D 体验,尤其是桌面浏览器,最好有更多的内存。有了更多的内存,您可以加载更丰富、更大的内存场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表更动态。
但是,在版本 119 之前的 Firefox 和 Chrome 浏览器中,超过 2048 MB 的版本存在已知错误。
要改为通过脚本更改最大内存,请将以下代码添加到脚本中,并将数字更改为首选内存大小:
PlayerSettings.WebGL.maximumMemorySize = 4096;