Skip to main content
Version: v4 (current)

Getting Started

Orchestrator lets you run engine builds through the provider target that fits your workflow: cloud, on-premise, local Docker, or your local machine. In GitHub Actions, game-ci/orchestrator wraps Unity Builder and adds provider-backed execution. The public game-ci CLI includes built-in engine and Orchestrator plugins, and its plugin API can add more.

Prerequisites

  • A Unity project
  • A cloud provider account (AWS or a Kubernetes cluster) or Docker installed locally
  • Provider credentials (as GitHub secrets or environment variables)

Choose a Provider

Pick the provider that fits your setup. Each tab shows a minimal quick-start snippet.

Easiest option — fully managed, no servers to maintain.

Set up your AWS credentials as GitHub secrets (AWS_ROLE_ARN for OIDC or AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY for static keys), then use providerStrategy: aws:

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_ARN }}
aws-region: eu-west-2

- uses: game-ci/orchestrator@v1.0.0
with:
providerStrategy: aws
targetPlatform: StandaloneLinux64
gitPrivateToken: ${{ secrets.GITHUB_TOKEN }}

See the AWS provider page for full setup.

See Provider Types for the full list and detailed setup guides.

GitHub Actions

Use the game-ci/orchestrator action when a workflow needs providerStrategy or another Orchestrator input. It invokes Unity Builder as part of the action; no separate builder step is needed.

Basic example

- uses: game-ci/orchestrator@v1.0.0
with:
providerStrategy: aws
targetPlatform: StandaloneLinux64
gitPrivateToken: ${{ secrets.GITHUB_TOKEN }}

Full workflow example

name: Build
on: push

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: game-ci/orchestrator@v1.0.0
env:
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
with:
providerStrategy: aws
targetPlatform: StandaloneLinux64
gitPrivateToken: ${{ secrets.GITHUB_TOKEN }}

Command Line

For command-line builds, use the public GameCI CLI. Orchestrator is built in.

1. Install GameCI CLI

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/game-ci/cli/main/install.sh | sh

# Windows (PowerShell)
irm https://raw.githubusercontent.com/game-ci/cli/main/install.ps1 | iex

2. Set credentials

export UNITY_SERIAL="XX-XXXX-XXXX-XXXX-XXXX-XXXX"
export AWS_ACCESS_KEY_ID="..."
export AWS_SECRET_ACCESS_KEY="..."

3. Run a build

game-ci \
orchestrate ./my-project \
--provider-strategy aws \
--target-platform StandaloneLinux64

The standalone Orchestrator CLI remains available for provider development and debugging. See Standalone Orchestrator CLI for that lower-level entry point.

Next Steps