# 可用环境变量

> Find all available environment variables for Unity Build Automation scripts and builds.

下表列出了 Unity Build Automation 的环境变量。

## 系统##system

系统环境变量控制系统的行为以及已安装资源的位置。所有变量均已设置，并且可在构建前和构建后脚本中使用。

| 变量                             | 描述                                                        |
| ------------------------------ | --------------------------------------------------------- |
| ANDROID\_HOME                  | Android 库的本地路径                                            |
| ANDROID\_NDK\_ROOT             | Android NDK 根目录的本地路径                                      |
| BUILDER\_OS                    | 用于运行构建的操作系统类型。MAC 或 WINDOWS。                              |
| CCD\_BINARY\_PATH              | Cloud Content Delivery 二进制可执行文件的本地路径                      |
| HOMEDRIVE                      | 主驱动器位置                                                    |
| HOMEPATH                       | 主目录的相对路径                                                  |
| OUTPUT\_DIRECTORY              | 包含构建过程输出的目录路径                                             |
| PLASTIC\_CM\_PATH              | Plastic CLI 的路径。如果使用 Windows 环境，可能需要转换为 Cygwin 路径以确保路径有效。 |
| PLASTIC\_CM\_CONFIG\_DIRECTORY | Plastic CLI 配置文件的路径                                       |
| PLATFORM\_HOST                 | Build Service API 的主机。例如 usersvc-live.cloud.unity3d.com   |
| PROJECT\_DIRECTORY             | 要构建项目的根目录路径                                               |
| SCM\_MAX\_RETRIES              | 签出源代码时尝试的最大重试次数                                           |
| UNITY\_EXE                     | Unity 引擎可执行文件的位置                                          |
| UPM\_REGISTRY                  | Unity Package Manager 的 URL                               |
| UPM\_SERVER\_ENABLED           | 设置为 true（默认值）时，将在代理上启动 UPM 服务器                            |
| UPM\_SERVER\_EXE               | Unity Package Manager 服务器可执行文件的路径                         |
| UPM\_SERVER\_PORT              | UPM 服务器运行的端口                                              |
| USERPROFILE                    | 操作系统上的用户主目录位置                                             |
| WEBGL\_STREAMING\_ENABLED      | 设置为 true（默认值）时，WebGL 项目的 StreamingAssets 路径将从要存档的路径列表中排除  |
| WORKSPACE                      | 代理上的本地路径，为给定构建目标创建的所有文件夹都位于此处。例如 /opt/workspace/workspace |

## 构建##build

构建环境变量与构建执行相关并控制其行为。以下是一般构建变量的列表。与构建过程特定执行部分相关的构建变量会在其相应部分进行分类。在运行 Unity 构建之前，某些变量可能无法设置。我们建议在尝试使用它们之前检查它们的值。

| 变量                                    | 描述                                                                             |
| ------------------------------------- | ------------------------------------------------------------------------------ |
| BACKTRACE\_ENABLED                    | 设置为 true（默认值）时，启用错误回溯日志记录                                                      |
| BUILD\_PLATFORM                       | 正在构建的目标类型                                                                      |
| BUILD\_TARGET                         | UCB 构建目标的 ID                                                                   |
| BUILD\_REVISION                       | 要构建的源代码的当前版本。                                                                  |
| BUILDCFG\_FILE                        | 构建配置文件的本地路径                                                                    |
| BUILDCFG\_TARGET                      | 正在构建的目标的名称（或 ID）                                                               |
| BUILDJOB\_CACHE                       | 构建完成时要缓存的文件类型。默认值为“library”。只能通过 Admin UI 设置为“workspace”。如果使用专用构建器，则设置为 local  |
| CLEAN\_BUILD                          | 设置为 true 时，不会拉取缓存的库或工作空间。使用 git 时，将运行 git clean。使用 Perforce 时，将执行 p4 forcesyn。 |
| IS\_BUILDER                           | 在构建代理上运行时设置为 true。在本地运行时设置为 false                                              |
| LOG\_VERBOSE                          | 将详细选项传递给 Xcode 项目时设置为“1”                                                       |
| ORG\_ID                               | UCB 组织的 ID                                                                     |
| PARENT\_BUILD\_GUID                   | 将下载此构建的主要 Artifact 并对其重新签名。仅在重新签名已构建的 Artifact 时设置。                            |
| PREVIOUS\_SUCCESSFUL\_BUILD\_REVISION | 目标上次成功构建的版本                                                                    |
| PROJECT\_ID                           | UCB 项目的 ID                                                                     |
| SCM\_BRANCH                           | 要构建的分支的名称                                                                      |
| SCM\_REVISION                         | 要签出的特定提交哈希值。仅在构建配置中指定时设置。                                                      |
| SCM\_HOST                             | Source Control Manager 的主机 URL                                                 |
| SCM\_USER                             | 用于从 SCM 签出代码的用户名                                                               |
| SKIP\_UPLOAD\_ARTIFACTS               | 设置为“1”时，会跳过将构建 Artifact 上传到 UCB                                                |
| UCB\_BUILD\_NUMBER                    | 正在构建的特定目标的构建编号                                                                 |
| XCARCHIVE\_PATH                       | Xcode 存档文件的本地路径，例如 '\~/Library/Developer/Xcode/Archives/something.xcarchive    |

### Cloud Content Delivery##cloud-content-delivery

仅当 CCD\_ENABLED 根据构建配置设置为 true 时，这些变量才可用。

| 变量                       | 描述                                               |
| ------------------------ | ------------------------------------------------ |
| CCD\_BUCKET\_ID          | 要将内容上传到的存储桶的 ID。由构建配置定义                          |
| CCD\_CREATE\_RELEASE     | 设置为“true”时，将从存储桶的最新版本创建发布版本。由构建配置定义。             |
| CCD\_ENABLED             | 设置为“true”时，将使用 Cloud Content Delivery。由构建配置定义    |
| CCD\_PRESERVE\_BUCKET    | 设置为 true 时，不会删除存储桶中的现有内容。由构建配置定义                 |
| CCD\_STRIP\_REMOTE\_PATH | 设置为“true”时，将保留存储桶并将文件直接上传到根目录，而不是在文件夹级别。由构建配置定义。 |

### Fastlane##fastlane

Fastlane 环境变量控制 Fastlane 的行为

| 变量                            | 描述                                                         |
| ----------------------------- | ---------------------------------------------------------- |
| FASTLANE\_USER                | 用于 Fastlane 的 App Store Connect/Apple Developer Portal 用户  |
| FASTLANE\_VERBOSE             | 设置为“true”时，将在执行触发的 Fastlane 命令时启用详细日志记录。                   |
| FL\_NOTARIZE\_ASC\_PROVIDER   | 提供商的 WWDR 团队 ID                                            |
| FL\_NOTARIZE\_USE\_NOTARYTOOL | 使用 Xcode 13 并将其设置为 true 时，将在使用 Fastlane 进行公证时使用 Xcode 公证工具 |
| FL\_NOTARIZE\_USERNAME        | 用于 Fastlane 的 App Store Connect/Apple Developer Portal 用户  |

### Perforce##perforce

| 变量                | 描述                                               |
| ----------------- | ------------------------------------------------ |
| P4\_CLEANUPCLIENT | 设置为“true”时，将在从 Perforce 代码仓库签出代码时运行 deleteclient |
| P4\_SSL           | 设置为“true”时，P4 将在与服务器通信时使用 SSL                    |
| P4CLIENT          | 对 P4 SCM 执行操作时使用的 P4 客户端                         |
| P4PORT            | 运行 P4 SCM 所用的端口                                  |
| P4USER            | 从 P4 签出代码时所用的用户名                                 |

### UVCS（以前称为 Plastic SCM）##uvcs-previously-plastic-scm

| 变量                          | 描述                         |
| --------------------------- | -------------------------- |
| PLASTIC\_AUTH\_TYPE         | 用于使用 Plastic SCM 进行身份验证的方法 |
| PLASTIC\_ENCRYPTION\_METHOD | Plastic SCM 上的加密类型         |

### Unity##unity

| 变量                                    | 描述                                                 |
| ------------------------------------- | -------------------------------------------------- |
| MONO\_XMLSERIALIZER\_THS              | 设置为“No”时，在 Unity 的 Mono 构建中不会使用 THS XML Serializer |
| UNITY\_EXTRA\_PARAMS                  | 在批处理模式下运行时传递给 Unity 编辑器的额外参数                       |
| UNITY\_PLAYER\_PATH                   | Unity Player 的本地路径                                 |
| UNITY\_PLAYER\_PATH\_DATA             | Windows 或 Mac 构建中 Unity Player 数据文件的本地路径           |
| UNITY\_PLAYER\_PATH\_DEBUG\_SYMBOLS   | Android 构建中 Unity Player 调试符号的本地路径                 |
| UNITY\_PLAYER\_PATH\_DSYM             | iOS 构建中 Unity Player 调试符号的本地路径                     |
| UNITY\_SHADER\_COMPILER\_RETRY\_COUNT | 设置为“3”。在 Unity 中编译着色器时的重试次数                        |
| UNITY\_VERSION                        | 构建将运行的 Unity 版本                                    |
| UNITY\_VERSION\_DIFF                  | 如果此构建的 Unity 版本与上次构建不同，则为 true                     |

根据构建配置和输出，还有两个动态配置的环境变量。由于这些变量的工作方式，将提供用于确定环境变量名称的模式。

| 变量                                            | 描述                          | 模式                                                                                                     |
| --------------------------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------ |
| UNITY\_PLAYER\_PATH\_#\{architecture}         | 给定架构的 Unity Player 文件的本地路径。 | #\{architecture} 表示构建目标架构的占位符值。例如，如果其中一个输出架构为 x86，则环境变量将为 UNITY\_PLAYER\_PATH\_X86                     |
| UNITY\_PLAYER\_PATH\_#\{obb\_file\_type}\_OBB | Unity Player OBB 文件的本地路径    | #\{obb\_file\_type} 表示各种 OBB 文件的占位符值。例如，如果文件名为 example.file.obb，则环境变量将为 UNITY\_PLAYER\_PATH\_FILE\_OBB |
