版本: Unity 6 (6000.0)
语言 : 英语
引用程序集
程序集元数据和编译详细信息

条件性包含程序集

您可以使用预处理器符号来控制是否编译程序集并将程序集包含在应用程序的构建中(包括编辑器中的播放模式)。您可以使用程序集定义选项中的“定义约束”列表来指定使用程序集必须定义哪些符号。

  1. 选择程序集的程序集定义,以在 检查器Unity 窗口,显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。更多信息
    参见 词汇表
    中查看其属性。

  2. 在“定义约束”部分中,单击“+”按钮以将新符号添加到约束列表中。

  3. 输入符号名称。

    您可以通过在名称前面加上感叹号来否定符号。例如,约束 !UNITY_WEBGL 在未定义 UNITY_WEBGL 时将包含程序集。

  4. 单击“应用”。

您可以使用以下符号作为约束

  • 脚本定义符号 设置中定义的符号,您可以在项目 项目设置一组广泛的设置,允许您配置物理、音频、网络、图形、输入和项目的许多其他方面的行为。更多信息
    参见 词汇表
    的“播放器”部分中找到。请注意,脚本定义符号适用于项目中的当前活动平台 构建配置文件。要为多个平台定义符号,您必须切换到每个平台并分别修改“脚本定义符号”字段。
  • 由 Unity 定义的符号。请参考 Unity 脚本符号参考
  • 使用程序集定义资源的 版本定义 部分定义的符号。

脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间推移修改组件属性并以您喜欢的任何方式响应用户输入。更多信息
参见 词汇表
中定义的符号在确定约束是否已满足时不会被考虑。

有关更多信息,请参见 定义约束

根据 Unity 和项目包版本定义符号

如果您需要根据项目是否使用 Unity 或包的特定版本在程序集中编译不同的代码,则可以将条目添加到“版本定义”列表中。此列表指定符号应在何时定义的规则。对于版本号,您可以指定一个逻辑表达式,该表达式计算为特定版本或版本范围。

要条件性地定义符号

  1. 选择程序集的程序集定义资源,以在“检查器”中查看其属性。

  2. 在“版本定义”部分中,单击“+”按钮以将条目添加到列表中。

  3. 设置属性

    • 资源:选择必须安装才能定义此符号的 Unity 或包或模块
    • 定义:符号名称
    • 表达式:计算为特定版本或版本范围的表达式。有关规则,请参见 [版本定义表达式]。

    表达式结果显示表达式计算到的版本。如果结果显示为“无效”,则表达式语法不正确。

    以下示例定义符号 USE_TIMELINE_1_3(如果项目使用 Timeline 1.3),并定义 USE_NEW_APIS(如果项目在 Unity 2021.2.0a7 或更高版本中打开)

  4. 单击“应用”。

在程序集定义中定义的符号仅在为该定义创建的程序集中的脚本范围内有效。

请注意,您可以使用使用“版本定义”列表定义的符号作为“定义约束”。因此,您可以指定程序集仅在项目中也安装了给定包的特定版本时才使用。

版本定义表达式

您可以使用表达式来指定确切的版本或版本范围。版本定义表达式使用数学范围表示法。

方括号“[]”表示范围包括端点

[1.3,3.4.1] 计算为 1.3.0 <= x <= 3.4.1

圆括号“()”表示范围不包括端点

(1.3.0,3.4) 计算为 1.3.0 < x < 3.4.0

您可以在单个表达式中混合这两种范围类型

[1.1,3.4) 计算为 1.1.0 <= x < 3.4.0

(0.2.4,5.6.2-preview.2] 计算为 0.2.4 < x <= 5.6.2.-preview.2

您可以在方括号中使用单个版本指示符来指定确切的版本

[2.4.5] 计算为 x = 2.4.5

作为快捷方式,您可以输入单个版本而没有范围括号,以指示表达式包括该版本或更高版本

2.1.0-preview.7 计算为 x >= 2.1.0-preview.7

注意:表达式中不允许使用空格。不支持通配符。

Unity 版本号

当前版本的 Unity(以及所有支持程序集定义的版本)使用具有三个部分的版本指示符:MAJOR.MINOR.REVISION,例如 2017.4.25f12018.4.29f12019.4.7f1

  • MAJOR 版本是四位数字,代表 Unity 2022.x.z 及更早版本的发行年份,或从 Unity 6 (6000.x.z) 开始的主要技术版本。
  • MINOR 版本是目标发行季度,例如 1、2、3 或 4。
  • REVISION 指示符本身具有三个部分,格式为:RRzNN,其中
    • RR 是一位或两位修订号
    • z 是一个字母,表示发行类型
      • a = alpha 版本
      • b = beta 版本
      • f = 常规公共版本
      • c = 中国版本(等效于 f)
      • p = 修补程序版本
      • x = 实验版本
    • NN 是一位或两位增量编号

发行类型指示符的比较方式如下

a < b < f = c < p < x

换句话说,alpha 版本被认为早于 beta 版本,beta 版本早于常规 (f) 或中国 (c) 版本。修补程序版本始终晚于具有相同修订号的常规或中国版本,而实验版本晚于任何其他发行类型。请注意,实验版本在末尾不使用增量编号。

Unity 版本号允许在 REVISION 组件之后添加后缀,例如 2019.3.0f11-Sunflower。在比较版本时,任何后缀都将被忽略。

例如,以下表达式包括 Unity 的任何 2017 或 2018 版本,但不包括 2019 或更高版本中的任何版本

[2017,2019)

包和模块版本号

包和模块版本指示符具有四个部分,遵循 语义版本控制 格式:MAJOR.MINOR.PATCH-LABEL。前三个部分始终是数字,但标签是一个字符串。预览中的 Unity 包使用字符串 previewpreview.n,其中 n > 0。有关包版本号的更多信息,请参见 包版本控制

例如,以下表达式包括所有 MAJOR.MINOR 版本介于 3.2 和 6.1(含)之间的包版本

[3.2,6.1]

其他资源

引用程序集
程序集元数据和编译详细信息