Skip to main content
Version: v2

Introduction

Concept - What Does Cloud Runner Do

Cloud Runner enables you to run, build and test (Unity) projects in the cloud. You can start jobs from the command line, the "Workbench" GUI in the Unity Editor or from GitHub Actions.

Cloud Runner will automatically provision an environment at a Cloud Provider such as GCP and AWS. It will then send the project to be built and/or tested depending on your workflow configuration.

Cloud Runner is especially useful for game development because it supports large projects. Cloud Runner provides first class support for the Unity game engine.

Cloud Runner uses git to track and syncronize your projects and uses native cloud services such as AWS Fargate and Kubernetes to run your jobs. Other version control systems are not actively supported.

Why Cloud Runner?

  1. Cloud runner is flexible and elastic
    1. You can balance your use of high-performance and cost saving modes. Configurable cost/speed effeciency
    2. Works great for projects of almost any size, from AAA projects and assets to micro projects
    3. Extended configuration options. More control over disk size, memory and CPU
    4. Easily scale all job resources as your project grows e.g storage, CPU and memory
  2. Scale fully on demand from zero (not in use) to many concurrent jobs. Benefits from "pay-for-what-you-use" cloud billing models. We have made an effort to make sure that it costs you nothing (aside from artifact and cache storage) while there are no builds running (no guarantees)
  3. Easy setup and configuration
  4. Run custom jobs and extend the system for any workload

Why not cloud runner?

  1. Your project is small in size. Below 5GB Cloud Runner should not be needed.
  2. You already have dedicated servers running you can use.

Although the speed of a CI pipelines is an important metric to consider, there are real challenges for game development pipelines.

This solution prefers convenience, ease of use, scalability, throughput and flexibility.

Faster solutions exist, but would all involve self-hosted hardware with an immediate local cache of the large project files and working directory and a dedicated server.

Cloud Runner Release Status

Cloud Runner is in "active development" ⚠️🔨

Cloud Runner overall release status: preview This means some APIs may change, features are still being added but the minimum feature set works and is stable.

Release Stages: experimental ➡️ preview ➡️ full release

You must use a provider with Cloud Runner, each provider's release status is described below. This indicates the stability and support for cloud runner features and workflows.

Supported Cloud Runner Platforms

| Cloud Provider Platform | Release Status     |
| ----------------------- | ------------------ |
| Kubernetes | ✔️ preview release |
| AWS | ✔️ full release |
| GCP | ⚠ Considered |
| Azure | ⚠ Considered |

Note for Kubernetes support: Usually the cluster needs to be up and running at all times, as starting up a cluster is slow. Use Google Cloud's Kubernetes Autopilot you can scale down to the free tier automatically while not in use. Kubernetes support currently requires cloud storage, only S3 support is built-in.

| Git Platform          | Release Status     |
| --------------------- | ------------------ |
| GitHub | ✔️ full release |
| GitLab | ✔️ preview release |
| Command Line | ✔️ preview release |
| Any Git repository | ✔️ preview release |
| Any Git automation/Ci | ✔️ preview release |

Cloud Runner Releases

Game CI Releases - GitHub Packaged and released with game-ci's unity-builder module.

Open Incoming Pull Requests

Cloud Runner PRs - GitHub

💬Suggestions and 🐛Bugs (GitHub Issues):

Game CI Issues - GitHub

Community

Share your feedback with us!