Download the ForgeFX configuration
Open Carl’s Slack setup post and download the attached services-config.json. Use the attachment, not a hand-built URL or a copied server address.
Unity licensing · local development
The existing ForgeFX client configuration is enough. Install the canonical services-config.json, restart Unity completely, acquire a floating lease, then prove the license with an actual Editor command.
This is the Mac translation of Carl Lowther’s canonical ForgeFX setup post, checked against Unity’s current client-configuration documentation and the commands exposed by the installed Unity CLI.
Open Carl’s Slack setup post and download the attached services-config.json. Use the attachment, not a hand-built URL or a copied server address.
Close every Unity Editor window and fully quit Unity Hub. Hub and the Licensing Client must restart before a changed services configuration is recognized.
osascript -e 'quit app "Unity Hub"' 2>/dev/null || true pkill -x Unity 2>/dev/null || true
Assuming Slack saved the attachment in Downloads:
CONFIG="$HOME/Downloads/services-config.json"
node -e 'JSON.parse(require("node:fs").readFileSync(process.argv[1],"utf8")); console.log("valid JSON")' "$CONFIG"
The official macOS client path is system-wide and requires administrator approval.
DEST='/Library/Application Support/Unity/config' sudo install -d -m 0755 "$DEST" if [ -f "$DEST/services-config.json" ]; then sudo cp "$DEST/services-config.json" "$DEST/services-config.json.backup-$(date +%Y%m%d-%H%M%S)" fi sudo install -m 0644 "$CONFIG" "$DEST/services-config.json"
Open Unity Hub again, then use the beta CLI. The installed CLI does not expose a license server add command; client configuration is file-based.
open -a "Unity Hub" ~/.unity/bin/unity license server status --format json ~/.unity/bin/unity license activate --floating --format json --non-interactive ~/.unity/bin/unity license status --format json
Account sign-in and server reachability are not proof. Open a real project with Editor 6000.1.1f1, then run the new Pipeline workflow.
~/.unity/bin/unity open /absolute/path/to/project cd /absolute/path/to/project ~/.unity/bin/unity auth login ~/.unity/bin/unity pipeline install ~/.unity/bin/unity pipeline list ~/.unity/bin/unity command
Success means the Editor opens under Unity Industry, Pipeline: Installed appears, and unity command lists commands from the running Editor.
Close every Unity Editor instance. The floating lease is held while an Editor is open and returns to the pool when the last Editor closes. Keep Unity closed when not actively testing.
Call the setup working only when all five checks are green. Two floating seats are shared with the production team, so “no seat available” can be temporary rather than a configuration failure.
license server status reports configured.license activate --floating exits successfully.license status reports an active Unity Industry entitlement.unity command connects to the Pipeline package.The high-value recovery moves are deterministic. Do not buy or reassign a license until the client configuration and live pool have been checked.
| Symptom | Meaning | Action |
|---|---|---|
configured: false | The system file is absent, invalid, or Unity has not restarted. | Verify the exact macOS path and fully restart Hub and Editor. |
| Configured but unreachable | Private network, DNS, firewall, certificate, or server-service problem. | Use the approved network path; do not expose the licensing port publicly. |
| No seat available | Both concurrent seats may be in use. | Close idle Editors and retry. Check with the team before disrupting active work. |
| Personal/named license appears | The wrong licensing mode may still be active. | Follow the canonical Slack thread; configuration changes require moving/renaming the file and fully restarting Hub. |
| Pipeline command cannot connect | The project is not open, the package is missing, or recompilation is incomplete. | Open the project in Unity 6+, install com.unity.pipeline, wait for compilation, then rerun unity pipeline list. |
These Slack posts carry the operational history and answer the questions most likely to come up during installation.
Contains the authoritative attachment, Windows steps, restart requirement, and explanation that opening/closing the Editor checks out/releases a seat.
Open Slack postCarl’s Unity Support follow-up: changing modes requires moving or renaming services-config.json and fully restarting Unity Hub.
Confirms two shared licenses, Editor-open checkout behavior, compliance expectations, and that temporary lockout can occur when both seats are occupied.
Open Slack threadDocuments the pre-setup machine state: no floating server configuration and no active Unity Editor license.
Open Slack postReconciles the ten named Industry seats, two Industry floating seats, Cedar assignment, terms, and local machine state.
Open inventory previewUnity organization page showing Cedar-LicenseServer and its assigned floating products. Administrator access may be required.
Open Unity portalCurrent primary documentation. The client configuration page governs the Mac file location and restart behavior; the Pipeline page governs the new CLI-to-Editor workflow.
Server-generated file, supported keys, platform paths, restart requirement, and client testing.
Open Unity docsDefines floating licensing as concurrent use: lease on Editor start, release when the last Editor closes.
Open Unity manualUnity’s 20 July 2026 launch article covering the standalone CLI, structured output, Pipeline package, and agent workflows.
Open Unity articleOfficial setup for installing the package and connecting unity command to a running Unity 6 Editor.
macOS log locations for Editor, Licensing Client, entitlement audits, and Hub.
Open Unity docsOfficial batchmode and project-launch syntax for proving licensed Editor execution.
Open Unity manualLive checks performed from forgebot-mini during this review. Endpoint values and credentials were intentionally withheld.
| Check | Result | Interpretation |
|---|---|---|
| Canonical Slack attachment | Valid JSON | Expected floating-license keys are present; attachment hash recorded privately for change detection. |
| Configured endpoint | DNS + TCP + HTTP 200 | The endpoint embedded in the canonical configuration is reachable from this Mac now. |
| Local client file | Absent | The blocker is installation/restart, not confirmed server unavailability. |
unity license server status | configured: false | Expected before installing services-config.json. |
| CLI support | Floating activation exposed | Installed beta supports license activate --floating, status, and list. It does not expose a server-add command. |