-
Notifications
You must be signed in to change notification settings - Fork 2
Config Files Overview
Astrid Avalin Soerensen edited this page May 11, 2025
·
3 revisions
The Unity CI/CD pipeline reads four primary configuration files from .github/config/
to dynamically control build behavior, targets, and deployment strategies. See the ones defined in this project here.
.github/config/
โโโ build-profiles.json
โโโ build-targets.json
โโโ defaults.json
โโโ deploy-targets.json
Defines Unity Build Profile names to be used with -buildProfile
for Unity 6000+ (Unity 6) versions.
Each entry maps a Unity buildTarget
to a profile name per build type.
"StandaloneLinux64-Server": {
"preview": "CI-LinuxServer-Preview",
"release_candidate": "CI-LinuxServer-RC",
"release": "CI-LinuxServer-Release"
}
- Injecting
-buildProfile ...
in Unity 6+ - Ensures correct config for client vs server, debug vs release
Specifies OS requirements and minimum allowed build types per platform.
"StandaloneOSX": {
"os": "macos-latest",
"minimumBuildType": "preview"
}
- Validating inputs
- Determining runner matrix (e.g., macOS for iOS, Linux for Android)
Global fallback settings, including:
- Unity version
- Default build & deploy targets
- CI behavior flags
"pipeline": {
"quietMode": false,
"excludeUnityTests": false,
"forceCombineArtifacts": false
}
- Resolving values when not passed as workflow inputs or repo vars
- Controlling test skipping, Git LFS usage, etc.
Defines all supported deployment destinations, required OS runners, and artifact requirements.
"firebase": {
"os": "ubuntu-latest",
"requiresCombinedArtifact": true,
"minimumBuildType": "release",
"compatibleBuildTargets": ["WebGL"]
}
- Filtering deploy targets by compatibility
- Assigning correct runners to deploy jobs
- Determining if combined artifacts are required
- The
defaults.json
config can be overridden at runtime using workflow inputs or repo variables. - New targets or platforms can be added by editing the relevant config.
- CI will skip incompatible targets based on
minimumBuildType
,os
, or other criteria.
Letโs build better Unity pipelines together! ๐
Need help? Join the Discussions or open an Issue.