-
Notifications
You must be signed in to change notification settings - Fork 8
Setup
This page explains how to set up your Unity-CI-Templates environment, configure required secrets, and control pipeline variables.
You must add these under your repository:
GitHub β Settings β Secrets β Actions
| Secret Name | Description |
|---|---|
UNITY_LICENSE |
Base64-encoded Unity license file or .ulf string |
UNITY_EMAIL |
Unity account email address |
UNITY_PASSWORD |
Unity account password |
CICD_PAT |
GitHub Personal Access Token for workflow dispatch |
π See detailed setup for each secret:
Required Secrets
Depending on your deploy targets, you may also need:
| Secret Name | Purpose |
|---|---|
SLACK_WEBHOOK |
Slack webhook URL for notifications |
DISCORD_WEBHOOK |
Discord webhook URL for notifications |
ITCH_USERNAME |
itch.io username for Butler uploads |
ITCH_PROJECT |
itch.io project identifier |
FIREBASE_TOKEN |
Firebase CLI authentication token |
AWS_ACCESS_KEY_ID |
AWS key for S3 deploy |
AWS_SECRET_ACCESS_KEY |
AWS secret for S3 deploy |
| (and others β see Deployment Guide) |
| Parameter | Description |
|---|---|
UNITY_VERSION |
Unity version (e.g., 2022.3.14f1) |
PROJECT_NAME |
Project name used in builds/artifacts |
BUILD_TARGETS |
JSON array of build targets (e.g., [ "WebGL" ]) |
DEPLOY_TARGETS |
JSON array of deploy targets (e.g., [ "gh-pages" ]) |
USE_GIT_LFS |
Whether to enable Git LFS (default: false) |
EXCLUDE_UNITY_TESTS |
Whether to skip tests (default: false) |
For fallback defaults, you can create these files in .github/config:
-
defaults.jsonβ Defines fallback values for pipeline variables. -
deploy-targets.jsonβ Maps deploy targets to required OS. -
target-platforms.jsonβ Lists supported Unity build platforms.
π‘ Note: Repository variables override config files, and manual workflow inputs override both.
The architecture of the .config files can be found here
When the pipeline resolves parameters (like unityVersion, buildType, deployTargets), it follows this priority order:
| Priority Rank | Source | Description |
|---|---|---|
| π₯ 1 | Workflow Dispatch Inputs | Passed when manually running workflows via the GitHub UI or gh workflow run
|
| π₯ 2 | Repository Variables | Set under Settings β Variables β Actions in your GitHub repository |
| π₯ 3 | Config Files | Fallback defaults stored in .github/config/*.json (e.g., defaults.json) |
For example:
- If you set
inputs.unityVersionin a manual run, it overrides both theUNITY_VERSIONrepo variable and the defaults in the config file. - If no manual input is provided, the pipeline checks for a repository variable.
- If neither is provided, the pipeline falls back to the config file.
Tip:
You can check or change repository variables under GitHub β Settings β Variables β Actions.
Config files live in.github/config/and define project-wide defaults.
Letβs build better Unity pipelines together! π
Need help? Join the Discussions or open an Issue.