Skip to content
download

GitHub Action

Setup Unity

v1.1.0 Latest version

Setup Unity

download

Setup Unity

Download and install Unity on Ubuntu, macOS or Windows. Based on Unity Hub

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Setup Unity

uses: kuler90/[email protected]

Learn more about this action in kuler90/setup-unity

Choose a version

setup-unity

GitHub Actions status GitHub Actions status GitHub Actions status

GitHub Action to download and install Unity. Based on Unity Hub.

Works on Ubuntu, macOS and Windows.

Inputs

unity-version

Unity version to install. For example, 2019.4.9f1. Project version will be used if not provided.

unity-version-changeset

Unity version changeset. For example, 50fe8a171dd9. Automatically parsed from Unity site if not provided.

unity-modules

List of Unity modules (e.g. build support) to install. For example, [ios, android, webgl].

Available modules can be found in the test workflows (test-ubuntu, test-macos, test-windows).

Also list of available modules can be found by execute <unity-hub> -- --headless help but result may contains wrong names.

unity-modules-child

Automatically installs all child modules of selected modules. For example, android-open-jdk and android-sdk-ndk-tools for android. Default true.

project-path

Path to Unity project. Used to find Unity version. Default ${{ github.workspace }}.

install-path

Path where the Unity editor will be installed.

self-hosted

If true, avoid to invoke commands with sudo. Default false.

Outputs

unity-version

Unity version.

unity-path

Unity executable path. Also set as an environment variable UNITY_PATH.

Known issues

  • Installing android module with childs modules may freeze on macOS. Recommended to use with timeout-minutes.
  • Workflow may fail with System.IO.IOException: No space left on device on GitHub-hosted Ubuntu. Setting install-path: /mnt can fix the problem.

Example usage

- name: Checkout project
  uses: actions/checkout@v2

- name: Setup Unity
  uses: kuler90/setup-unity@v1
  with:
    unity-modules: android

- name: Activate Unity
  uses: kuler90/activate-unity@v1
  with:
    unity-username: ${{ secrets.UNITY_USERNAME }}
    unity-password: ${{ secrets.UNITY_PASSWORD }}
    unity-authenticator-key: ${{ secrets.UNITY_AUTHENTICATOR_KEY }}

- name: Build Unity
  uses: kuler90/build-unity@v1
  with:
    build-target: Android
    build-path: ./build.apk