Returning a license
unity-builder and unity-test-runner already return the license they activated once the job
finishes - manually returning a license is usually never necessary for those, unless you're
running into an unrecoverable error while a license is still active.
unity-activate is different: it deliberately leaves the license active for a later step, and
does not return it itself. Workflows using unity-activate on its own need a separate return
step - either game-ci/unity-return-license@v2 or the
game-ci return-license CLI command below.
Both Personal and Professional/Plus licenses are returnable - Unity moved Personal onto per-organization seats, so a Personal seat left active by an interrupted or activate-only run consumes a seat just like a Professional one does, and later runs on the same account fail with "no available seats" until it's returned.
Manual recovery
If you need to return a license by hand - for example after an interrupted run left a seat
active - use the game-ci CLI's return-license command:
game-ci return-license ./my-project
See Activate & Return License for the full command reference, including credentials and how the CLI picks the right return mechanism for your license type automatically.
Legacy: Unity - Return license Action
Older workflows not using the game-ci CLI-backed actions may still use the standalone
Unity - Return license action:
# Return License
- name: Return license
uses: game-ci/unity-return-license@v2
if: always()