Standalone Orchestrator Command
The standalone Orchestrator CLI command is named orchestrate. It is a lower-level provider entry
point for running engine work on local Docker, local system, or cloud infrastructure. Unity is the
primary built-in package, and engine plugins can adapt the workload for other engines. For the
public GameCI CLI, use game-ci orchestrate with a provider plugin.
orchestrate provisions an execution environment, syncs your project, runs the requested workload,
and retrieves artifacts.
game-ci orchestrate [options]
This is the standalone CLI equivalent of using game-ci/unity-builder with a providerStrategy in
GitHub Actions. It is mainly useful for provider development, debugging, and direct Orchestrator
usage. The public CLI uses the same command verb, but it loads providers through the public plugin
API and keeps the higher-level GameCI command model.
When To Use This Command
| Situation | Recommended command |
|---|
| Public CLI provider-backed job with a friendly surface | game-ci orchestrate from game-ci/cli |
| Standalone Orchestrator standard remote build shortcut | game-ci build --provider-strategy aws or k8s |
| Standalone Orchestrator direct provider run | game-ci orchestrate |
| Standalone local Docker or local host Orchestrator behavior | game-ci orchestrate --provider-strategy local-docker |
| Custom job YAML, pre/post steps, cache key testing | game-ci orchestrate |
| Executable provider protocol serving another CLI | game-ci serve |
In short: public orchestrate is the friendly plugin-backed GameCI CLI API, standalone
orchestrate is the direct Orchestrator API, and standalone build is only a convenience shortcut
for a standard remote build.
Required Options
| Flag | Description |
|---|
--target-platform | Build target platform (e.g. StandaloneLinux64) |
Provider Type Selection
Choose where the job runs with the --provider-strategy flag:
| Provider | Value | Description |
|---|
| AWS Fargate | aws | Serverless containers on AWS (default) |
| Kubernetes | k8s | Run on any Kubernetes cluster |
| Local Docker | local-docker | Run in a local Docker container |
| Local System | local-system | Run directly on the local system |
game-ci orchestrate \
--target-platform StandaloneLinux64 \
--provider-strategy aws
Build Options
| Flag | Default | Description |
|---|
--unity-version | auto | Unity Editor version to use. Set to auto to detect from project. |
--project-path | . | Path to the Unity project directory |
--build-name | (empty) | Name of the build |
--builds-path | build | Path where build artifacts are stored |
--build-method | (empty) | Custom static C# build method to invoke |
--custom-parameters | (empty) | Additional parameters for the Unity build |
--versioning | None | Versioning strategy: None, Semantic, Tag, Custom |
AWS Options
| Flag | Default | Description |
|---|
--aws-stack-name | game-ci | CloudFormation stack name for shared resources |
--container-cpu | 1024 | CPU units for the Fargate task (1024 = 1 vCPU) |
--container-memory | 3072 | Memory in MB for the Fargate task |
AWS credentials are read from the standard AWS environment variables or credential files:
export AWS_ACCESS_KEY_ID="your-key"
export AWS_SECRET_ACCESS_KEY="your-secret"
export AWS_DEFAULT_REGION="us-east-1"
game-ci orchestrate \
--target-platform StandaloneLinux64 \
--provider-strategy aws \
--container-cpu 2048 \
--container-memory 8192
Kubernetes Options
| Flag | Default | Description |
|---|
--kube-config | (empty) | Base64-encoded kubeconfig file contents |
--kube-volume | (empty) | Name of the persistent volume to use |
--kube-volume-size | 5Gi | Size of the persistent volume |
game-ci orchestrate \
--target-platform StandaloneLinux64 \
--provider-strategy k8s \
--kube-config "$(base64 -w 0 ~/.kube/config)" \
--kube-volume-size 25Gi
Cache Options
| Flag | Default | Description |
|---|
--cache-key | (empty) | Key used to scope cache entries |
Workspace Options
| Flag | Default | Description |
|---|
--clone-depth | 50 | Git clone depth (use 0 for full clone) |
Execution Options
| Flag | Default | Description |
|---|
--watch-to-end | true | Follow build logs until completion |
--allow-dirty-build | false | Allow builds from dirty (uncommitted changes) branches |
--skip-activation | false | Skip Unity license activation/deactivation |
Git Authentication
The remote environment needs access to your repository. Provide a token with repo access:
game-ci orchestrate \
--target-platform StandaloneLinux64 \
--provider-strategy aws \
--git-private-token "$GITHUB_TOKEN"
| Flag | Default | Description |
|---|
--git-private-token | (empty) | GitHub access token with repository read permission |
If not provided, the CLI attempts to read the token from the GITHUB_TOKEN environment variable.
Full Example
export AWS_ACCESS_KEY_ID="AKIA..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_DEFAULT_REGION="us-east-1"
game-ci orchestrate \
--target-platform StandaloneLinux64 \
--provider-strategy aws \
--git-private-token "$GITHUB_TOKEN" \
--container-cpu 2048 \
--container-memory 8192 \
--cache-key "main" \
--builds-path ./dist
See Also