Skip to content

Add new-unity-project skill#24

Draft
ewhittom wants to merge 2 commits into
Unity-Technologies:mainfrom
ewhittom:feat/new-unity-project
Draft

Add new-unity-project skill#24
ewhittom wants to merge 2 commits into
Unity-Technologies:mainfrom
ewhittom:feat/new-unity-project

Conversation

@ewhittom

@ewhittom ewhittom commented Jul 7, 2026

Copy link
Copy Markdown

Orchestration skill that takes a user from idea to a running, version-controlled Unity project: gather concept, target platforms and monetization, install the CLI and Editor, create the project and source control, install packages via the C# PackageManager Client API, scaffold a game skeleton, save, and commit.

Also refreshes the README skills table (was missing three existing skills).

Orchestration skill that takes a user from idea to a running,
version-controlled Unity project: gather concept, target platforms and
monetization, install the CLI and Editor, create the project and source
control, install packages via the C# PackageManager Client API, scaffold
a game skeleton, save, and commit.

Also refreshes the README skills table (was missing three existing skills).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ewhittom ewhittom force-pushed the feat/new-unity-project branch from b8b5c7c to d4217fe Compare July 7, 2026 19:43
Add Client.SearchAll()/Client.Search() (PackageSearch bootstrap method)
for in-Editor discovery, plus a curl https://packages.unity.com/<id>
metadata query for the terminal. Note the npm free-text search endpoint
(-/v1/search) is unavailable on Unity's registry.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
andresbayon added a commit that referenced this pull request Jul 8, 2026
…rkflow

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>
andresbayon added a commit that referenced this pull request Jul 8, 2026
…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>
andresbayon added a commit that referenced this pull request Jul 8, 2026
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>
andresbayon added a commit that referenced this pull request Jul 9, 2026
…workflow & references for unity-cli (#25)

* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant