Introduction
What Does Orchestrator Do?
Orchestrator is an advanced build layer on top of Game CI unity-builder. It takes whatever machines you give it and provides the flexibility, control, and tools to manage all your build workflows across it. Instead of running builds directly on your CI runner, Orchestrator dispatches them to any infrastructure you choose -from a local machine to a Kubernetes cluster. While Unity is the built-in default, Orchestrator is engine agnostic -Godot, Unreal, and custom engines can plug in via the engine plugin system. Start jobs from GitHub Actions, the command line, or any CI system.
The orchestrator is built into game-ci/unity-builder
and activates automatically when you set providerStrategy. It is also available as a
standalone CLI for use outside GitHub Actions.
Why Orchestrator?
Orchestrator benefits projects of any size. Even small projects gain access to configurable resources, caching, and cost-efficient scaling. Larger projects get retained workspaces, automatic failover, and multi-provider load balancing.
| Benefit | What it means |
|---|---|
| Configurable resources | Set CPU, memory, and disk per build instead of accepting CI runner defaults |
| Scale from zero | No idle servers. Cloud providers provision on demand and tear down when done |
| Retained workspaces | Cache the entire project folder across builds for faster rebuilds on large projects |
| Automatic caching | Unity Library, LFS objects, and build output cached to S3 or 70+ backends via rclone |
| Provider failover | Automatically route to a fallback provider when the primary is unavailable or overloaded |
| Extensible | Run custom hooks, middleware, or your own provider plugin |
| Engine agnostic | Built-in Unity support with a plugin system for other engines (Godot, Unreal, custom) |
| Self-hosted friendly | Complements self-hosted runners with automatic fallback, load balancing, and runner availability checks |
When You Might Not Need It
- Your project fits comfortably on standard GitHub runners and you don't need caching, hooks, or custom resources
- You already have a fully managed build pipeline that meets your needs
See Standard Game-CI vs Orchestrator for a detailed comparison.
What Orchestrator Handles
Orchestrator manages the full build lifecycle so you don't have to script it yourself:
- Provisioning - creates cloud resources (CloudFormation stacks, Kubernetes jobs, Docker containers) and tears them down after the build
- Git sync - clones your repo with configurable depth, pulls LFS objects, initializes submodules, and handles SSH/HTTP auth
- Caching - persists the Unity Library folder, LFS objects, and build output across builds using S3 or rclone
- Hooks - inject custom containers or shell commands at any point in the build lifecycle with phase, provider, and platform filtering
- Secrets - pulls secrets from AWS Secrets Manager, GCP Secret Manager, Azure Key Vault, or HashiCorp Vault and injects them as environment variables
- Logging - streams structured build logs in real-time via Kinesis (AWS), kubectl (K8s), or stdout (local)
- Cleanup - removes cloud resources, temporary files, and expired caches automatically
Supported Providers
| Provider | Description |
|---|---|
| AWS Fargate | Fully managed containers on AWS. No servers to maintain. |
| Kubernetes | Run on any Kubernetes cluster. |
| Local Docker | Docker containers on the local machine. |
| Local | Direct execution on the host machine. |
See Providers for the full list including GCP Cloud Run, Azure ACI, custom, and community providers.
Supported Platforms
| Platform | Description |
|---|---|
| GitHub Actions | First-class support with Checks API. |
| GitLab CI | Via the command line mode. |
| Command Line | Run from any terminal or script. |
| Any CI system | Anything that can run shell commands. |
External Links
- Orchestrator Repository - standalone orchestrator package
- Releases - orchestrator releases
- Pull Requests - open orchestrator PRs
- Issues - bugs and feature requests
- Discord - community chat
- Feedback Form - share your experience