Version: 2022.1

ManagedStrippingLevel

enumeration

切换到手册

描述

定义 Unity 剥离未使用的托管 (C#) 代码时的激进程度。

当 Unity 构建游戏或应用程序时,它可以从项目中使用的托管动态链接库中剥离未使用的代码。剥离代码可以使生成的可执行文件显著减小,但有时可能会错误地删除实际在使用的代码。ManagedStrippingLevel 枚举定义了一些选项,因此可以指定 Unity 删除未使用的代码时应采取的激进程度。

另请参阅:PlayerSettings.GetManagedStrippingLevelPlayerSettings.SetManagedStrippingLevel

变量

Disabled不要剥离任何代码。
Low删除无法访问的托管代码以减少构建大小和 Mono/IL2CPP 构建时间。
Medium使用比 Low 更大胆的模式运行 UnityLinker。这将在 Low 可实现的范围的基础上进一步减小代码大小。然而,这种进一步的缩减可能伴随着取舍。可能的副作用包括需要维护一个自定义的 link.xml 文件,并且某些反射代码路径的行为可能会不同。
HighUnityLinker 将尽可能进行剥离。这将在 Medium 可实现的范围的基础上进一步减小代码大小。然而,这种进一步的缩减可能伴随着取舍。可能的副作用可能包括某些方法的托管代码调试可能不再有效。可能需要维护一个自定义的 link.xml 文件,以及某些反射代码路径的行为可能会不同。
MinimalThe class libraries, UnityEngine, and Windows Runtime assemblies will be stripped. All other assemblies are copied.