GitHub Action to download and install Unity. Based on Unity Hub.
Works on Ubuntu, macOS and Windows.
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
.
unity-version
Unity version.
unity-path
Unity executable path. Also set as an environment variable UNITY_PATH
.
android
module with childs modules may freeze on macOS. Recommended to use with timeout-minutes
.System.IO.IOException: No space left on device
on GitHub-hosted Ubuntu. Setting install-path: /mnt
can fix the problem.- 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