包含此页的版本:
不含此页的版本:
你可以使用预处理器符号来控制程序集是否被编译并包含在应用程序的构建中(包括编辑器中的运行模式)。您可以指定必须为装配定义哪些符号与“装配定义”选项中的“定义约束”列表一起使用:
选择装配的“装配定义”(Assembly Definition),以在检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表.
在“定义约束”部分中,单击“+”按钮将新符号添加到约束列表中。
输入符号名称。
您可以通过在名称前面放置感叹号来否定该符号。例如,约束!UNITY_WEBGL将包括程序集UNITY_WEBGL没有定义。
单击应用。
可以使用以下符号作为约束:
在脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表在确定是否满足约束时不考虑。
有关详细信息,请参阅定义约束。
如果需要根据项目使用特定版本的 Unity 还是包在程序集中编译不同的代码,则可以将条目添加到“版本定义”列表中。此列表指定了何时应定义符号的规则。对于版本号,可以指定计算为特定版本或版本范围的逻辑表达式。
要有条件地定义符号:
选择程序集的“程序集定义”资产,以在检查器中查看其属性。
在 版本定义(Version Defines) 部分中,单击 + 按钮将条目添加到列表中。
设置属性:
版本表达式结果显示表达式的计算结果为哪些版本。如果结果显示“无效”,则表达式语法不正确。以下示例定义了符号USE_UTF_1_4如果项目使用 Test Framework 1.4 和USE_NEW_APIS如果项目是在 Unity 6000.0.33f1 或更高版本中打开的:
单击应用。
在装配定义中定义的符号仅在为该定义创建的装配中的脚本的范围内。
请注意,您可以使用“版本定义”列表定义的符号作为“定义约束”。这意味着您可以指定仅当给定包的特定版本也安装在项目中时才应使用程序集。
您可以使用表达式来指定确切版本或版本范围。版本表达式使用数学范围表示法。
方括号“[]”表示范围包括终结点:
[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(以及所有支持程序集定义的版本)使用由三个部分组成的版本指示符:MAJOR。次要。修订,例如,2017.4.25f1,2018.4.29f1和2019.4.7f1.
2022.x.z和更早版本,或 Unity 6 (6000.x.z) 及更高版本的主要技术版本。发布类型指示符的比较如下:
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 包使用字符串preview或preview.n哪里n > 0.
有关包版本号的更多信息,请参阅版本控制。
例如,以下表达式包括具有 MAJOR 的包的所有版本。3.2 到 6.1(含)之间的 MINOR 版本:
[3.2,6.1]