game-ci / game-ci/unity-builder
Support Multiple License Products when using Unity Licensing Server
- Dominant language
- TypeScript
- Stars
- 1.1k
- Forks
- 313
- Avg merge
- 1h 39m
- Merged PRs (30d)
- 1
Description
**Context**
The unity licensing server supports registering multiple products which effectively means you can multiple pools of licenses on a licensing server - https://docs.unity.com/licensing/en-us/manual/ServerSetup-test#Support_for_multiple_product_licenses. By default, the server only serves licenses from a single pool (product). Unity clients need to specify that they want to request licenses from multiple pools by setting the `toolset` param in their `services-config.json` file with values being a comma separated list of product ids:
Docs including toolset param - https://docs.unity.com/licensing/en-us/manual/ClientConfig
> The server serves one product license at a time to clients. You can supply a comma-separated string, in order of preferred licenses. To view all available product identifiers, go to the [Server Administration Status Page](https://docs.unity.com/licensing/en-us/manual/ServerSetup-test) and view the list under licenseEntitlementGroupId. The server processes each license in the order you specify. If a license isn't available, the server goes to the next license in the list. If you don't specify a toolset value, the server serves the default toolset.
**Suggested solution**
We can add a parameter to the action to specify this value and update the `services-config.json.template` that is used already to request floating licenses to set this value to the `toolset` param.
**Additional details**
I've already forked this repo and implemented my proposed solution and we are currently using this in our existing workflows. PRs:
- https://github.com/game-ci/unity-builder/pull/661
- https://github.com/game-ci/unity-test-runner/pull/282
- https://github.com/game-ci/documentation/pull/472
Contributor guide
Assessment
This issue has not been assessed yet.