* docs(unity-cli): align skill to CLI 1.0.0-beta.2
Tracks the CLI's move to 1.0 versioning (1.0.0-beta.1 re-baseline) and
1.0.0-beta.2. Adds unity shell, unity list, unity diagnose proxy, the
pipeline upgrade/list-versions/--package-version surface, editor(s) module
remove, and install-modules --reinstall/--force/--retries + --no-elevate;
removes --instance from command/mcp/eval; documents the cloud/auth 3/6 and
build 130/143 exit codes, license service-account handling, and the global
--log-proxy flag. Excludes the CLI's unreleased changes (not in the shipped
beta.2 binary). unity-cli only; no other skill runs the changed commands.
Generated with Claude Code
* docs(unity-cli): address Copilot review (pipeline --force scope, grammar)
Disambiguate `pipeline install --force` from the top-level `unity install`,
and fix subject/verb agreement in the --no-elevate example comment.
Generated with Claude Code
* docs(unity-cli): add "bootstrap a new project from scratch" workflow
Fold the CLI-covered path from the proposed new-unity-project skill (#24)
into the existing unity-cli skill instead of shipping a second, overlapping
skill. A single discoverable skill is easier for users to find than two that
overlap on project creation.
- Add a "Bootstrap a new project from scratch" workflow (auth+license →
editor+platform modules → template → project → source control → commit),
hardened to the skill's existing credential posture: --git-token-stdin only,
and the .gitignore is downloaded to a file, never piped to a shell.
- Reference the dedicated skills (implement-in-app-purchases,
levelplay-unity-integration, build-live-game) for monetization/backend, and
note that UPM packages are managed in-Editor — out of scope for the CLI.
- Mention project bootstrapping in the skill description for discoverability.
- Fix the stale README table, which listed only 1 of the 4 existing skills.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs(unity-cli): add Git LFS + editor-stream guidance to bootstrap workflow
Fold in the two in-scope items from the new-unity-project proposal (#24) that
belong in the source-control and editor-selection steps:
- Git LFS for asset-heavy projects (both the --git-lfs one-step flag and the
manual git lfs track path for a local repo).
- A one-line LTS vs. Tech vs. beta/alpha trade-off so agents know when to
reach past the default LTS.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat: add unity-package-management skill (headless UPM via C# Client API)
The Unity CLI has no package-management command, so this fills that gap with a
focused, reusable skill — distinct from unity-cli and usable against any
project, not just new ones. Piled from the package portions of the proposed
new-unity-project skill (#24), cleaned up and made standalone:
- SKILL.md: the -quit gotcha (why direct Editor invocation, not `unity run`),
the AddAndRemove installer (add/remove/upgrade in one pass), a Client.Search
discovery script, the headless run, and verification.
- references/select-packages.md: genre/look/platform/monetization -> package
mapping and registry discovery (in-Editor SearchAll + read-only registry curl).
Cross-linked from the unity-cli bootstrap workflow, and added to the README.
Security: read-only registry queries over HTTPS, no curl|bash pipes, no secret
literals, no internal references; scripts live under Editor/ and never ship.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat: add new-unity-project orchestrator skill
A thin, slash-invocable composer that gives the guided "idea -> running
project" experience without duplicating the reference skills. It owns the flow
only — questions, ordering, and handoffs — and delegates all mechanics:
- Guided AskUserQuestion flow (concept -> platforms/monetization).
- Backgrounds the multi-minute Editor install while it keeps asking questions,
so setup overlaps the conversation (the key win over a raw recipe).
- Delegates commands to unity-cli and package installs to
unity-package-management; hands off monetization to implement-in-app-purchases
/ levelplay-unity-integration / build-live-game.
- Deliberately NO gameplay scaffolding (the weak, throwaway-primitive step) and
NO command reference (lives in the delegated skills).
Addresses the standalone-skill benefits raised in review (explicit /invocation
+ guided questions + parallel installs) while avoiding the overlap that
motivated folding the recipe into unity-cli.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* refactor(unity-cli): split command catalog into references + index
SKILL.md was ~1,493 lines (~15.5k tokens) and loaded in full on every trigger,
even for a narrow lookup like "install an editor". Split the command catalog
(~78% of the doc) into grouped reference files that load lazily, keeping only
the high-frequency core in SKILL.md.
- SKILL.md (now ~311 lines / ~3.5k tokens): install/verify, global flags, env
vars, exit codes, a compact command index table (preserves the full command
surface + descriptions cheaply so nothing is "hidden"), and Common workflows.
- references/: auth-license-cloud, editors-install, projects-templates,
config-hub, build-run-test, diagnostics-maintenance, integration-advanced.
Content preserved verbatim: all 32 command sections move unchanged; heading
sets are identical and line accounting balances exactly (1,197 body lines +
7x8 header lines). Fixed the one cross-reference the split invalidated.
No behavior change — purely per-trigger token/latency reduction for the common
narrow-lookup case, following the repo's "move long reference material into
separate files" guidance.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs(unity-cli): disambiguate from new-unity-project
Now that the guided orchestrator exists, stop competing with it on triggering
while keeping the shared recipe it delegates to:
- Narrow the description: drop the "bootstrap/create from scratch" greenfield
intent (that routes to new-unity-project); keep "create projects" as a plain
CLI capability, and point greenfield requests at new-unity-project.
- Keep the "Bootstrap a new project from scratch" workflow (it's the recipe
new-unity-project delegates to and serves direct-CLI users) and add a note at
its top pointing to the guided skill.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs: add headless import/save method; fix dangling reference
new-unity-project Step 6 pointed to "a headless save" that no skill actually
documented. Add ProjectSaver.SaveAll (synchronous AssetDatabase.Refresh +
SaveAssets, safe via `unity run`) to unity-package-management so new/CI
projects can generate .meta files headlessly, and point Step 6 at it.
Carries over the last useful piece from the original new-unity-project draft
(#24) that wasn't yet covered; the game skeleton remains intentionally deferred.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs: present source-control choice (Git+LFS vs UVCS), don't default
Previously both skills nudged toward Git LFS for asset-heavy games without
mentioning Unity Version Control (UVCS), which handles large binaries natively
(no LFS) and is often the better fit for art-heavy projects/teams. The CLI
already supports --vcs uvcs, so let the user choose:
- unity-cli bootstrap workflow: present Git (GitHub/GitLab, + --git-lfs) and
UVCS (--vcs uvcs, --vcs-region) as parallel options with examples.
- new-unity-project Step 4: ask the user which VCS they want rather than
assuming Git LFS.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs: address Copilot review (headings, --no-initial-commit, UVCS, stdin)
- Fix empty H1 in all 7 unity-cli reference files (a printf helper never
received the title arg, so each rendered "# — unity-cli command reference").
- new-unity-project: use --no-initial-commit when publishing via --vcs so the
CLI doesn't commit before packages/.meta exist, and make Step 6's first
commit VCS-aware (Git vs UVCS check-in; avoid double-commit).
- unity-cli bootstrap: note modules can be added later (not irreversible), show
feeding --git-token-stdin from a secret store, and mention --no-initial-commit.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs(unity-package-management): fix log source + harden registry curl
Round-2 Copilot review, both concrete:
- The Editor log for the direct-Editor package run is the `-logFile -` stdout,
not `unity logs` (which reads the CLI's own log) — corrected the pointer.
- Registry discovery used `curl -s`, which exits 0 on a 404 and pipes an error
page into python; switched to `curl -fsSL` so HTTP errors fail loudly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs(unity-cli): note source-control flag names differ by subcommand
Round-3 Copilot review: projects create / link vcs use --git-namespace /
--git-repo, while projects clone uses --vcs-namespace / --vcs-repo. Both are
correct per the CLI; documented the difference to prevent copy/paste errors.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* iap-skill: add explicit deploy-catalog step to D2C path
Split catalog deployment out of the manual-steps checklist into a dedicated Step 3 in path-implement-iap-d2c.md, and renumber subsequent steps. The Deployment window flow was previously buried in the final checklist, which caused the client code steps to be applied before the catalog was actually fetchable.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* iap-skill: fix BillingClient conflict guidance and StoreKit/CSV notes
- convert-adapty / convert-revenuecat: replace the project-wide `configurations.all { exclude ... }` snippet with per-SDK removal guidance. The old snippet stripped Unity IAP's own BillingClient (9.0.0, declared via IAPAndroidDependencies.cs) along with the third-party copy, leaving the Android build with none.
- path-convert-native-storekit: map SKPaymentTransaction.transactionIdentifier to `pendingOrder.Info.TransactionID` (was pointing at the Apple-only sub-property).
- path-implement-iap-d2c: leave CatalogListingId blank in the .catalog.csv example and explain the `catalog/` prefix rule; note that IDs without it fail validation.
- api-notes: drop the stale `productId` mention from the v5.4 CatalogListings/uSku note.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Re-lands the skill previously reverted in PR #20, updated against the
Unity IAP 5.4 pre-GA API surface. Adds README, native-StoreKit and
IAP-D2C paths, and per-competitor conversion guides (Adapty,
EssentialKit, RevenueCat, UniPay). Replaces the earlier
path-implement-iap-plus reference with path-implement-iap-d2c.
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
* fix: harden unity-cli credential examples (Snyk W007)
Remove runnable command examples that place secrets on the command
line, while keeping the real flags documented:
- CI auth "Equivalent to" now uses --secret-from-stdin, not --client-secret
- Drop the copy-pasteable --client-secret <secret> command (kept as a
labelled anti-pattern note pointing to stdin / env-var auth)
- Replace the http://user:secret@host proxy example with prose that
points to the OS keyring lookup
- Strengthen the Android keystore warning to require CI secret env vars
(e.g. "$KEYSTORE_PASSWORD"), never inline literals
The secure alternatives (--secret-from-stdin, --git-token-stdin,
UNITY_SERVICE_ACCOUNT_* env vars) were already the documented defaults;
this removes the insecure demonstrations the audit flagged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs: address Copilot review on unity-cli credential examples
- Drop misleading "Equivalent to" claim for CI env-var auth; clarify it
maps to auth login flags but isn't a full login (no keyring persist)
- Reference --client-secret flag without the copy-pasteable <secret>
placeholder
- Clarify keystore env vars avoid hard-coding literals but the expanded
value still appears in argv; mask in CI logs
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs: update unity-cli skill for beta.8
Unity CLI 0.1.0-beta.8 (2026-06-25). Verified against the
cli-v0.1.0-beta.8 source in Unity-Technologies/unity-hub.
- Add `unity mcp` + `mcp configure` (MCP server, 16 AI clients)
- Add `editors upgrade`; note `editors list` subcommand and the
new "Upgrade to" column on `editors --installed`
- Add `config update-check` + `UNITY_NO_UPDATE_CHECK` env var and
the background "update available" notice
- Promote pipeline/command/status from dev-only to production:
the Pipeline package now resolves from the Unity UPM registry
(no internal access/SSH); drop `--ssh`/`--install-samples`/
`--install-tests`; add `command screenshot` example; fix the
`command` aliases to `cmd`, `request`
- Auth: CLI and Hub now store sign-in credentials separately
- License: `list` reports an error + non-zero exit when the
licensing client is unavailable (was: empty list)
- `bug` collects Hub-equivalent diagnostics (incl. GPU)
- `unity implode` removed (use `self-uninstall`)
- Keep eval/cloud-pipeline/collab as dev-only; drop the removed
`editor play/stop/pause`
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs: add beta.8 entry to unity-cli CHANGELOG
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
End-to-end skill for building and operating a live game with Unity
Gaming Services: authentication, player accounts, cloud save, cloud
code, remote config, achievements, battle pass, and deployment.
Includes a module file-completeness checklist and the `.gitignore`
override needed inside Cloud Code module directories (Unity's stock
`.gitignore` excludes `*.sln`/`*.csproj`, which silently breaks
deploys).
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
The skills.sh Snyk audit flagged "Hidden Unicode Characters" (W021) on
unity-cli. The trigger was the invisible U+FE0F VARIATION SELECTOR-16
that renders the plain ⚠ glyph as the ⚠️ emoji. Such invisible
combining characters read as potential obfuscation/prompt-injection to
security scanners.
Strip U+FE0F from all 5 occurrences (1 in unity-cli/SKILL.md, 4 in
levelplay-unity-integration references), keeping the visible ⚠ glyph.
A repo-wide scan now reports no invisible/format/BOM characters.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Align the unity-cli skill with CLI 0.1.0-beta.7:
- Add license, hub install, test, editors path, projects clone/link
(cloud+vcs), and build Android signing/export + versioning options.
- Add UNITY_TEST_TIMEOUT / UNITY_CLOUD_ORG env vars and exit code 4.
- Move pipeline/command/eval/editor play-stop-pause/status and the new
cloud-pipeline/collab groups into a 'Development-only commands' section,
since they are hidden in production builds (HUB_ENV=development only).
- Publish CHANGELOG.md tracking skill revisions against CLI versions.
* Create SKILL.md
* Add files via upload
* Update SKILL.md: legal and language changes
* Update README with privacy and legal note
Added privacy and legal disclaimer regarding LevelPlay integration guidance.
* Updated date and feedback form URL
* Improve clarity in privacy settings documentation
Reworded privacy settings overview and guidelines for clarity, as per legal team feedback.
* Clarify OnAdInfoChanged event language
Updated comments and descriptions for clarity regarding ad information changes and auction results, based on legal team feedback.
* Clarify OnAdInfoChanged event language
Updated descriptions for OnAdInfoChanged event and its importance in revenue optimization, based on legal team feedback.
* Revise iOS setup documentation for LevelPlay integration
Updated iOS setup guide for LevelPlay with detailed instructions on SKAdNetwork, App Tracking Transparency, and privacy manifest requirements, based on legal feedback.
* Clarify legal advice disclaimer in privacy settings
Added a note clarifying that the guidance does not constitute legal advice and emphasized the importance of consulting legal counsel.
* docs: add CONTRIBUTING guide and link it from README
Document how to contribute a skill: the public-safety rule, the
skills/<name>/SKILL.md folder layout and frontmatter, that skills go in
as plain folders (not zipped .skill files), the versioning approach, and
the PR flow. Link it from the README.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* docs: tighten CONTRIBUTING prose
Reduce em-dash density and split welded clauses for readability.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Remove contributing section from README
* docs: gate experimental pipeline section as Unity-internal only
unity pipeline install clones the Pipeline package from Unity's internal
GitHub Enterprise, so the entire experimental pipeline/command/eval/editor
workflow is unavailable to external users. Add a prominent warning so public
users don't hit an unexplained clone/auth failure.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Verified every documented command against the installed CLI (0.1.0-beta.6)
and the unity-hub CLI source. Key fixes:
- run: document the reserved flags it auto-adds (-batchmode, -quit,
-projectPath, -useHub, -hubIPC); passing any after `--` now errors. Fix
all run/CI examples that previously passed -batchmode/-quit.
- request -> command|cmd rename (request/req kept as deprecated aliases).
- Add missing commands: cloud, analytics, eval, status, editor
play/stop/pause, projects open/link/unlink, templates edit.
- Flesh out build options and pipeline install flags; add open build-target
flags and registry-matching behavior.
- Bump documented version to 0.1.0-beta.6.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The skills CLI discovers skills by walking for directories containing a
file named SKILL.md (skills/<name>/SKILL.md). The single-file layout
skills/cli.md was never matched, so `npx skills add` reported "No skills
found". Move it to skills/unity-cli/SKILL.md to match the expected layout.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Merge protection on main is now enforced via branch protection settings
(1 required approval + push restricted to the hub team), so the public
CODEOWNERS file referencing @Unity-Technologies/hub is no longer needed.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Add `unity config proxy` command group: view/set/unset persisted
proxy, supported schemes (http/https/socks/pac), bypass list, and
full resolution priority chain.
- Document new global flags `--proxy <url>` and `--proxy-disable`.
- Document new `UNITY_PROXY` env var.
- Auth: note `--yes` on logout, service-account env-var path (with
stderr warning when only one of the pair is set), and the pre-launch
sign-in URL print (+ `auth_url=...` NDJSON frame in JSON mode).
- Install / install-modules: document space-separated `-m android ios`
form, orphaned-download recovery via `--resume`, NDJSON `phase` field,
and `parentItemUid`-based module progress nesting under the parent
editor.
- install-modules: note that located editors (`unity editors add <path>`)
now support module discovery.
- Bump beta marker to 0.1.0-beta.5 and point at `unity env` /
`unity doctor` for inspecting the resolved proxy.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: update CLI skill with missing commands and env vars
Add --verbose global flag, full UNITY_* environment variable table with
service account auth, `unity e` alias, multi-path `editors add` with
--skip-signature-check, new `editors module` / `editor module` section,
`editor add --no-fetch-modules`, changelog, pipeline (experimental),
request (experimental), and implode deprecation note.
Also add Issues and feedback section to README pointing to
https://discussions.unity.com/.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* docs: fix internal contributors channel to #devs-unity-skills
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* docs: fix cli skill accuracy — ndjson format, auth service account flags, project command signatures
- Add ndjson to --format options (global flag and UNITY_FORMAT env var)
- Document auth login service account flags (--client-id, --client-secret, --secret-from-stdin, --no-store)
- Fix projects create/new: <name> is the positional arg, --path sets parent dir
- Fix projects upgrade: --to <version> is required
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: address PR review comments and rename skill to unity-cli
- Rename skill from 'cli' to 'unity-cli' for unambiguous invocation
- Auth: reorder service account examples to show --secret-from-stdin first
(safer than --client-secret; avoids shell history and process-list exposure)
- projects create: fix description — command IS interactive on TTY (prompts
for missing path/editor/template); add --non-interactive guidance for CI
- projects new: fix description — command is strictly non-interactive (resolves
all missing options from stored defaults, never prompts); update example comments
- Sync template --type/--custom filtering examples lost during merge
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* chore: remove catalog-info.yaml and workflows directory
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: rename skill from cli to unity-cli in README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
* docs: update CLI skill with missing commands and env vars
Add --verbose global flag, full UNITY_* environment variable table with
service account auth, `unity e` alias, multi-path `editors add` with
--skip-signature-check, new `editors module` / `editor module` section,
`editor add --no-fetch-modules`, changelog, pipeline (experimental),
request (experimental), and implode deprecation note.
Also add Issues and feedback section to README pointing to
https://discussions.unity.com/.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* docs: fix internal contributors channel to #devs-unity-skills
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
* feat: add Unity CLI skill
Adds skills/cli.md — the Unity CLI skill for AI coding agents.
Covers installation, all commands, global flags, exit codes, and
common workflows. Compatible with Claude Code, Copilot, Cursor, and
50+ other agents via `npx skills add Unity-Technologies/skills`.
Also updates README with install instructions and skills table.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* chore: add --help guidance to CLI skill
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>