name: unity-project description: "Run a Unity command using a project's version and a build target." inputs: projectPath: description: "Path to the Unity project." required: true default: "." platform: description: "Unity Platform. Options: windows, windows32bit, mac, linux, android" required: true serial: description: "Unity license serial number." required: true email: description: "Unity email." required: true password: description: "Unity password." required: true command: description: "Unity command to run." required: false noGraphics: description: "Whether or not to use the graphics device when running Unity." required: false default: "true" sshPublicKey: description: "Public SSH key to use for git package restoration." required: false sshPrivateKey: description: "Private SSH key to use for git package restoration." required: false runs: using: "composite" steps: - name: "Replace spaces in project path." id: path run: | PROJECT_PATH=${{ inputs.projectPath }} PROJECT_PATH=${PROJECT_PATH// /\\ } echo "projectPath=$PROJECT_PATH" >> "$GITHUB_OUTPUT" shell: bash - name: "Get Unity Version." id: getVersion uses: act/unity/unity-get-version@master with: projectPath: ${{ steps.path.outputs.projectPath }} - name: "Get Unity buildTarget." id: getTarget uses: act/unity/unity-get-buildtarget@master with: platform: ${{ inputs.platform }} - name: "Restore NugetForUnity packages if they exist." uses: act/dotnet/dotnet-nugetforunity-restore@master with: projectPath: ${{ steps.path.outputs.projectPath }} - name: "Run Unity command." uses: act/unity/unity-command@master with: platform: ${{ inputs.platform }} version: ${{ steps.getVersion.outputs.projectVersion }} serial: ${{ inputs.serial }} email: ${{ inputs.email }} password: ${{ inputs.password }} sshPublicKey: ${{ inputs.sshPublicKey }} sshPrivateKey: ${{ inputs.sshPrivateKey }} noGraphics: ${{ inputs.noGraphics }} command: -projectPath ${{ steps.path.outputs.projectPath }} -buildTarget ${{ steps.getTarget.outputs.buildTarget }} ${{ inputs.command }}