Skip to content

A GitHub action for setting up the Unity Game Engine for CI/CD workflows.

License

Notifications You must be signed in to change notification settings

RageAgainstThePixel/unity-setup

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unity-setup

A GitHub Action for setting up the Unity Game Engine on GitHub Action Runners.

How to use

workflow

strategy:
  matrix:
      os: [ubuntu-latest, windows-latest, macos-latest]
      unity-versions:
        - 'in version file'
        - 2019.4.40f1
        - 2020.x
        - 2021.3.x
        - 2022.3
        - 6000
    include:
      - os: ubuntu-latest
        build-targets: StandaloneLinux64, Android, iOS
        modules: linux-server
      - os: windows-latest
        build-targets: StandaloneWindows64, Android, WSAPlayer
        modules: windows-server
      - os: macos-13
        build-targets: StandaloneOSX, Android, iOS
        modules: mac-server
      - os: macos-latest
        build-targets: StandaloneOSX, Android, iOS, VisionOS
        modules: mac-server
steps:
  - uses: RageAgainstThePixel/unity-setup@v1
    with:
      version-file: 'path/to/your/ProjectSettings.ProjectVersion.txt'
      unity-version: ${{ matrix.unity-versions }} # overrides version in version-file
      build-targets: ${{ matrix.build-targets }}
      modules: ${{ matrix.modules }}

  - run: |
      echo "UNITY_HUB_PATH: '${{ env.UNITY_HUB_PATH }}'"
      echo "UNITY_EDITORS: '${{ env.UNITY_EDITORS }}'"
      echo "UNITY_EDITOR_PATH: '${{ env.UNITY_EDITOR_PATH }}'"
      echo "UNITY_PROJECT_PATH: '${{ env.UNITY_PROJECT_PATH }}'"

inputs

name description required
version-file Specify a path to search for the unity project version text file. Useful if there are multiple projects in a single repo. Pass None if creating a new project to skip file search. false
unity-version Specify the Unity version(s) to install. You must include the changeset! i.e 2019.4.13f1 (518737b1de84). This will override any version specified in the version-file! false
build-targets Specify the build targets to install for. Remaps to corresponding module. One or more of StandaloneWindows64 WSAPlayer StandaloneOSX iOS StandaloneLinux64 Android Lumin WebGL VisionOS. false
modules Modules to install with the editor. This list can be different per editor version. false
architecture Specify the architecture to install. Either x86_64 or arm64. false

outputs

  • UNITY_HUB_PATH: The path to the installed unity hub.
  • UNITY_PROJECT_PATH: The path to the Unity project.
  • UNITY_EDITOR_PATH: The path to the last installed version of Unity.
  • UNITY_EDITORS: A json object of each editor installation {"version":"path"}.