Version: 6000.3
语言: 中文
引用程序集
程序集元数据和编译详细信息

有条件地包括程序集

你可以使用预处理器符号来控制程序集是否被编译并包含在应用程序的构建中(包括编辑器中的运行模式)。您可以指定必须为装配定义哪些符号与“装配定义”选项中的“定义约束”列表一起使用:

  1. 选择装配的“装配定义”(Assembly Definition),以在检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
    请参阅术语表
    .

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

    “检查器”窗口显示“装配定义”资产属性的“定义约束”部分。
    “检查器”窗口显示“装配定义”资产属性的“定义约束”部分。
  3. 输入符号名称。

    您可以通过在名称前面放置感叹号来否定该符号。例如,约束!UNITY_WEBGL将包括程序集UNITY_WEBGL没有定义。

  4. 单击应用

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

  • 脚本定义符号(Scripting Define Symbols) 设置中定义的符号,你可以在项目设置(Project Settings) 广泛的设置集合,允许您配置物理、音频、网络、图形、输入和项目的许多其他区域的行为方式。更多信息
    请参阅术语表
    .请注意,脚本定义符号适用于项目中当前活动的平台构建配置文件目标平台创建构建时使用的一组可自定义配置设置。更多信息
    请参阅术语表
    .要为多个平台定义一个符号,您必须切换到每个平台并单独修改“脚本定义符号”字段。
  • 由 Unity 定义的符号。请参阅 Unity 脚本符号参考
  • 使用“装配定义”资产的“版本定义”部分定义的符号。

脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表
在确定是否满足约束时不考虑。

有关详细信息,请参阅定义约束

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

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

要有条件地定义符号:

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

  2. 版本定义(Version Defines) 部分中,单击 + 按钮将条目添加到列表中。

  3. 设置属性:

    • 如果资源:选择 Unity 或必须安装的包或模块才能定义此符号。
    • version is:计算结果为特定版本或一系列版本的表达式。语法规则请参考 [版本定义表达式]。
    • set define:用于定义何时满足版本条件的脚本符号。

    版本表达式结果显示表达式的计算结果为哪些版本。如果结果显示“无效”,则表达式语法不正确。以下示例定义了符号USE_UTF_1_4如果项目使用 Test Framework 1.4 和USE_NEW_APIS如果项目是在 Unity 6000.0.33f1 或更高版本中打开的:

    “检查器”窗口显示“程序集定义”资产属性的“版本定义”部分。
    “检查器”窗口显示“程序集定义”资产属性的“版本定义”部分。
  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。次要。修订,例如,2017.4.25f1,2018.4.29f12019.4.7f1.

  • 主要版本是四位数字,代表 Unity 的发布年份2022.x.z和更早版本,或 Unity 6 (6000.x.z) 及更高版本的主要技术版本。
  • 次要版本是目标发布季度,例如 1、2、3 或 4。
  • REVISION 指示符有自己的三个部分,格式为:RRzNN,其中:
    • RR 是一位或两位数的修订号
    • z 是指定发布类型的字母:
      • a = alpha 版本
      • b = 测试版
      • f = 正常的公开发布
      • c = 中国发布版本(相当于 f)
      • p = 补丁发布
      • x = 实验性发布
    • NN 是一位或两位数的增量数字

发布类型指示符的比较如下:

a < b < f = c < p < x

换句话说,alpha 版本被认为是早于 beta 版本,而 beta 版本早于正常 (f) 或中国 (c) 版本。补丁版本总是晚于具有相同修订号的普通版本或中国版本,并且实验性版本晚于任何其他版本类型。请注意,实验性版本不会在末尾使用增量数字。

Unity 版本号允许在 REVISION 组件后面有一个后缀,例如2019.3.0f11-Sunflower.为了比较版本,将忽略任何后缀。

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

[2017,2019)

包和模块版本号

包和模块版本代号由四个部分组成,遵循语义版本控制格式:MAJOR。次要。补丁标签。前三个部分始终是数字,但标签是字符串。预览版中的 Unity 包使用字符串previewpreview.n哪里n > 0. 有关包版本号的更多信息,请参阅版本控制

例如,以下表达式包括具有 MAJOR 的包的所有版本。3.2 到 6.1(含)之间的 MINOR 版本:

[3.2,6.1]

其他资源

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