文档

支持

使用环境变量

Learn how to use built-in and custom environment variables in Unity Build Automation.
阅读时间3 分钟最后更新于 19 天前

在 Unity Build Automation (UBA) 中,可以使用内置环境变量并定义自定义环境变量:
  • 内置变量会自动显示构建环境和源代码控制元数据。
  • 您可以设置自定义环境变量来根据具体需求配置构建前和构建后脚本。

常见的内置环境变量

UBA 提供了在构建期间自动可用的内置环境变量。这些变量提供了有关构建环境、目标设置和版本控制信息的有用详细信息。例如,以下是常用的内置环境变量:

变量名称

描述

UNITY_VERSION
构建所使用的 Unity 版本。
BUILD_TARGET
目标平台,例如 Android、iOS 或 WebGL。
BUILD_PATH
构建输出目录的路径。
PROJECT_PATH
Unity 项目的根目录路径。
BUILD_NUMBER
构建的唯一标识符。
GIT_BRANCH
当前正在构建的 Git 分支。
GIT_COMMIT
当前 Git 提交的哈希值。
有关可用环境变量的完整列表,请参阅环境变量参考文档

设置环境变量

构建目标级别配置环境变量。这使您能够为每个构建目标指定不同的变量,这样您就可以针对各种平台或环境(例如暂存环境或生产环境)使用量身定制的配置。 在 UBA 中定义环境变量:
  1. 转到 Unity Dashboard 并选择您的项目。
  2. 选择 Build Automation > Configurations(配置)
  3. 选择编辑(铅笔)图标以打开您选择的构建目标设置。
  4. 选择 Advanced Settings(高级设置)
  5. Environment variables(环境变量) 下,输入变量键和值。
  6. 选择 Apply(应用),然后选择页面顶部的 Save Changes(保存更改)
环境变量配置面板。

环境变量配置面板。

使用环境变量

定义环境变量后,可以在构建过程中通过 Unity 脚本或自定义构建前和构建后 shell 脚本中引用这些变量。

在 Unity C# 脚本中访问变量

使用
System.Environment
类来检索环境变量:
string apiKey = System.Environment.GetEnvironmentVariable("MY_API_KEY");if (!string.IsNullOrEmpty(apiKey)){ Debug.Log("API Key loaded successfully.");}else{ Debug.LogWarning("API Key not found.");}

在 shell 脚本中访问变量

如果您使用构建前或构建后 shell 脚本,可以使用美元符号前缀来访问特定的环境变量:
echo "Build Number: $BUILD_NUMBER"

环境变量缺失

如果无法访问环境变量,请检查以下解决方案:
  • 检查是否在构建目标设置中正确定义了环境变量。
  • 验证变量的拼写是否正确,以及它们是否符合大小写要求。
  • 查看构建日志以了解任何相关的警告或错误。
  • 在构建前或构建后脚本中使用诊断命令来检查可用变量:
    • Linux 或 macOS:
      env
    • Windows:
      set