Skip to content
box

GitHub Action

Unity Runner

3.2.0 Latest version

Unity Runner

box

Unity Runner

Run unity in batch mode

Installation

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

              

- name: Unity Runner

uses: MirageNet/[email protected]

Learn more about this action in MirageNet/unity-runner

Choose a version

Unity - Runner

CI


GitHub Action to run unity for any Unity project.

This Action also includes SonarScanner and DocFX installs


Usage

Create or edit the file called .github/workflows/main.yml and add a request activation file job

name: Test project
on: [push]
jobs:
  requestActivationFile:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Request manual activation file
        uses: MirageNet/[email protected]
        id: getManualLicenseFile
        with:
            entrypoint: /request_activation.sh

      - name: Expose as artifact
        uses: actions/upload-artifact@v1
        with:
            name: Manual Activation File
            path: ${{ steps.getManualLicenseFile.outputs.filePath }}

Commit and push this so it runs once. This will generate a manual activation license request file. Save this file and upload it to https://license.unity3d.com/manual

That will generate a license file for personal. Go back to your github project and navigate to Settings -> Secrets

create a secret called UNITY_LICENSE and paste inside the content of the license file.

You can disable the job by adding if: false() or commenting it out, you only needed it to generate the license.

Add a job to run unity cli on your project. You will need a step to activate unity and another step to run unity with any command line argument you want. For example:

jobs:
  testRunnerInEditMode:
    name: Test edit mode 📝
    runs-on: ubuntu-latest
    env:
      UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}   
    steps:
      # Checkout repository (required to test local actions)
      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Activate license
        uses: MirageNet/[email protected]
        with:
          entrypoint: /activate.sh

      - name: Run tests
        uses: MirageNet/[email protected]
        with:
          args: -runTests -projectPath .

See the Unity's documentation for a full list of all available argument options.