Unity Upgrades - decentraland/unity-explorer GitHub Wiki
When upgrading Unity, the required Game-CI Docker images may not yet be available upstream. To unblock CI and local builds, we provide a GitHub Actions workflow that allows us to manually build and publish Unity editor images to our own GitHub Container Registry (GHCR) namespace.
This ensures we can continue upgrading Unity without waiting for official Game-CI images to be released.
Use this workflow when:
- Upgrading to a newer Unity version that is not yet available via Game-CI images
- CI tests.yml fails due to missing Unity editor Docker images
The workflow lives here:
https://github.com/decentraland/unity-explorer/actions/workflows/build-game-ci-image.yml
The workflow:
- Clones the official
game-ci/dockerrepository - Builds a Unity editor Docker image using the selected inputs
- Tags the image following our internal naming convention
- Pushes the image to GHCR under
ghcr.io/decentraland
These images can then be referenced by CI jobs exactly like standard Game-CI images.
All images are published with the following format:
ghcr.io/decentraland/unityci-editor:<base_os>-<editor_version>-<target_platform>-<image_suffix>
Example:
ghcr.io/decentraland/unityci-editor:ubuntu-6000.2.14f1-linux-il2cpp-3.2.0
- Go to Actions → Build GameCI Image
- Click Run workflow
- Fill in the inputs:
-
Editor Version
Unity editor version (e.g.6000.2.14f1) -
Change Set
Unity changeset hash for that editor version
This must match the exact Unity release -
Base OS
OS used for the Docker image
Usuallyubuntu -
Target Platform
Unity module to install
Common values:linux-il2cppwindows-il2cppmac-il2cppandroidioswebgl
-
Image Tag Suffix
Used to version or differentiate images
Typically aligned with our internal Game-CI versioning
- Run the workflow and wait for the image to build and push
The build runs on a custom runner: This is required due to:
- Large Docker image size
- Unity editor install requirements
- Build memory usage
Once built and pushed, re-running the failing tests.yml will now retrieve the image from the GHCR.