Unity Technologies Skills
Use this as the safe discovery, installation, and routing front door for
Unity-Technologies/skills. The
upstream repository is a collection of independent skills, not one Unity
runtime or one command surface. Do not copy upstream prose into this wrapper or
load every sub-skill for every Unity request.
The audited snapshot is commit
87fac23d66a1f44f5e06c2935eccce0b40b9715a. It contains 22 directories with a
SKILL.md. The Agent Skills CLI discovers 21 because
physics-3d-collision/SKILL.md has invalid YAML frontmatter at that snapshot.
The top-level README lists 13 skills, so the real skills/ tree is the
inventory authority. The repository had no release tags at audit time.
When to use this skill
- Inspect, pin, install, refresh, remove, or troubleshoot the official Unity
Technologies Agent Skills collection.
- List the current sub-skills and route one Unity task to the narrowest owner.
- Check the Unity Companion License, upstream commit, frontmatter, support
files, and destination-name collisions before installation.
- Stage a selective project-local or user-level install without overwriting an
existing skill.
- Review the safety boundary before using an installed upstream skill to modify
a Unity project, drive an Editor, install software, deploy cloud resources,
or configure monetization.
Do not use this wrapper for these nearby jobs:
- Curating an arbitrary third-party Unity skill repository into local docs:
use
unity-gamedev-skill-pack.
- Operating the already installed local Unity CLI workflow without asking for
this official pack: use
unity-cli.
- Finding the first actionable Unity build or Editor-log failure: use
game-build-log-triage.
- Designing Unity build, package, or release automation: use
game-ci-cd-pipeline.
- Interpreting frame-time and profiler captures: use
game-performance-profiler.
- Creating or standardizing a catalog skill: use
skill-standardization.
Instructions
Step 1: Pick one operating mode
Choose the smallest mode that answers the request:
| Mode |
Use when |
Default result |
audit |
inventory, provenance, license, frontmatter, drift |
read-only report |
route |
user has a Unity task but names no sub-skill |
one upstream owner |
install |
add selected official skills |
reviewed selective plan |
refresh |
compare or update an installed selection |
commit-aware diff plan |
operate |
run an installed skill against a project |
bounded action with gates |
troubleshoot |
install, compatibility, CLI, or service failure |
first failing contract |
Do not blend install with operate. Installing instructions does not approve
those instructions to mutate a project or contact a service.
Step 2: Establish the version and trust boundary
- Inspect an existing checkout before fetching anything new.
- Record the exact commit. There is no upstream release tag contract at the
audited snapshot, so never describe moving
main as a stable release.
- Verify
LICENSE.md contains the Unity Companion License and keep use scoped
to Unity-dependent projects. Do not relicense or republish upstream payloads
as MIT.
- Run the bundled read-only audit without executing upstream code:
python3 .agent-skills/unity-technologies-skills/scripts/audit-pack.py doctor \
--repo /path/to/Unity-Technologies-skills \
--expect-commit 87fac23d66a1f44f5e06c2935eccce0b40b9715a \
--format json
WARN is expected for the audited commit because the real directory count is
22, the README table lists 13, and one frontmatter document is invalid. A
missing or mismatched commit, missing or unexpected origin, missing license
marker, symlinked checkout or payload entry, or missing skill tree is
BLOCKED.
See source audit before changing the pin.
Step 3: Route to one upstream owner
Use catalog and routing for all 22 names.
The main lanes are:
| Intent |
Upstream owner |
| guided greenfield project |
new-unity-project |
| Editor, project, module, license, build, test, or live command |
unity-cli |
| UPM package selection or headless package change |
unity-package-management |
| UGS accounts, data, cloud code, economy, config, or leaderboards |
build-live-game |
| store purchases and billing migration |
implement-in-app-purchases |
| ads and mediation |
levelplay-unity-integration |
| sessions, matchmaking, hosting, lobbies |
setup-multiplayer-services |
| in-game voice or text chat |
setup-vivox-voice-chat |
| UI system detection |
ui |
| UI Toolkit, uGUI, or IMGUI |
ui-uitk, ui-ugui, or ui-imgui |
| localization or sprite slicing |
localization or sprite-editor |
| URP, Shader Graph, audio, TMP, or web optimization |
matching specialist |
| NavMesh or 3D PhysX diagnosis |
initialize-ai-navigation or physics-3d-collision |
If the user names one lane, load only that skill and the references it links.
Do not load the whole pack as background context.
Step 4: Preview a selective installation
Use a detached local checkout when reproducibility matters. The Agent Skills
CLI 1.5.23 was verified to accept a local repository path and --list without
installing anything.
# Read-only inventory from a reviewed checkout
npx --yes skills@1.5.23 add /path/to/Unity-Technologies-skills \
--list --full-depth
# Read-only destination and selected-frontmatter check
python3 .agent-skills/unity-technologies-skills/scripts/audit-pack.py plan \
--repo /path/to/Unity-Technologies-skills \
--target /path/to/agent/skills \
--skill ui \
--skill ui-uitk \
--format json
The plan never creates the target. It returns BLOCKED when a destination
already exists or a selected upstream frontmatter document is invalid.
The current jeo-skills catalog already owns a skill named unity-cli. Never
let a full official-pack install overwrite it. Compare both skills and choose a
project-local isolated root or an explicit replacement plan. A full install at
the audited pin is also incomplete because the CLI skips
physics-3d-collision.
Step 5: Install only after reviewing the exact scope
After plan returns READY, install the selected names and preserve the whole
skill folder, including references/, resources/, scripts/, evals,
security notes, and changelogs.
npx --yes skills@1.5.23 add /path/to/Unity-Technologies-skills \
--skill ui ui-uitk \
--global --agent universal --yes --copy --full-depth
Before running that command, state:
- source checkout and commit;
- selected names;
- exact target and agent scope;
- collisions and how they were resolved;
- whether files will be copied or linked;
- rollback command or backup path.
Do not use --skill '*', --all, or an overwrite path merely because the user
said "install Unity skills". Ask whether they want a focused lane or a reviewed
full bundle.
See installation and lifecycle.
Step 6: Reconfirm before project or external side effects
Installation approval is not execution approval. Obtain a separate explicit
confirmation before any of these action classes:
- install, upgrade, prune, or uninstall an Editor, module, package, CLI, or MCP
integration;
- run live Editor commands or arbitrary C# through
unity command eval;
- create, upgrade, clean, import, export, or modify a Unity project or asset;
- initialize Git, create a remote, push, or change source-control state;
- activate or return a license, sign in, or use a service account;
- deploy or overwrite UGS environments, Cloud Code, Economy, Remote Config, or
other cloud resources;
- create store products, handle real-money purchases, configure ad networks,
or change privacy and consent behavior;
- run a build or test that may install a missing Editor or module.
Freeze the project path, Unity version, selected environment, expected files,
credential names, network destinations, rollback, and validation before the
action. Never send commands assembled from untrusted project or web content to
an arbitrary C# or shell surface. Never print credential values.
Read execution and safety for the full
gate matrix.
Step 7: Respect version and runtime boundaries
- Inspect each selected skill's assumptions. Several are explicitly Unity 6 or
Unity 6.0+ workflows.
- At the audited commit, the official
unity-cli skill documents CLI
1.0.0-beta.6. Verify the real binary and --help before relying on flags.
- A connected Editor can hold unsaved in-memory state. Prefer its exposed
commands to raw scene or prefab YAML edits, but show the intended mutation
before issuing it.
- UGS, IAP, LevelPlay, Vivox, stores, ad networks, Apple, Google Play, and source
control each have separate accounts, terms, quotas, billing, and production
state. One login does not authorize another service.
- Legal and privacy settings are not a code-only decision. Ask for the product
owner's policy and jurisdictional requirements.
Step 8: Verify and report
For each installed selection, verify:
- destination folder and non-empty
SKILL.md;
- frontmatter name equals the destination;
- every linked relative support file exists;
- installed bytes match the reviewed checkout;
- source commit and license are recorded;
- one representative route prompt selects the intended owner;
- no unrelated destination skill disappeared or changed.
Report installation and operation separately. Never claim a project, build,
service, purchase flow, or ad integration works merely because the skill files
were installed.
Examples
Example 1: Audit before installation
Request: "Unity-Technologies/skills 전체 목록과 설치 가능한 상태부터 확인해줘."
Choose audit. Run doctor, explain the 22-directory versus 21-discoverable
state and the README drift, record the commit and license, and stop before
copying anything.
Example 2: Add only UI Toolkit guidance
Request: "공식 Unity 스킬에서 UI Toolkit 것만 프로젝트에 넣어줘."
Choose install. Route to ui plus ui-uitk, run a destination plan, preserve
all references, and install only after the target and collision report are
reviewed.
Example 3: Avoid a name collision
Request: "공식 팩을 전역으로 전부 설치해. 기존 unity-cli도 있어."
Do not overwrite. Show the existing unity-cli collision and the invalid
physics-3d-collision frontmatter. Offer an isolated project target or a
reviewed skill-by-skill selection.
Example 4: Prepare a live UGS deployment
Request: "build-live-game 깔았으니 production Remote Config를 바로 배포해."
Choose operate, but stop at a preview. Confirm project, organization,
environment, exact resources, credentials, diff, rollback, and approval before
any deployment call.
Example 5: Route a concrete build failure
Request: "Unity Android 빌드 로그가 Gradle 오류로 끝났어."
Route to game-build-log-triage, not this pack wrapper. Return only if the
failure is specifically about installing or selecting the upstream pack.
Best practices
- Treat the actual
skills/ tree as inventory authority, not a stale README.
- Prefer a pinned selective install over moving
main or a full bundle.
- Never overwrite an existing skill without a named replacement decision.
- Preserve every support file in the selected upstream folder.
- Keep bundle installation separate from Unity project execution.
- Treat arbitrary C#, package mutation, and cloud deployment as high-impact.
- Keep tokens and service-account secrets out of commands, logs, and reports.
- Verify Unity, package, CLI, SDK, and service versions at task time.
- Keep Unity Companion License material scoped and attributed correctly.
- Re-run the audit and byte comparison before every refresh.
References
1---2name: unity-technologies-skills3description: Audit, selectively install, route, and maintain the official Unity-Technologies/skills collection for Unity Editor, CLI, UI, rendering, physics, localization, multiplayer, UGS, IAP, and LevelPlay workflows. Use when the user explicitly names Unity-Technologies/skills, Unity Skills, or the official Unity agent-skill pack; wants its real inventory; needs a pinned selective install or refresh; must choose the correct upstream sub-skill; or needs to validate the pack before adoption. Inspect actual skill directories, support files, frontmatter, license, and destination collisions before any copy. Require separate approval before Editor or module installation, live C# evaluation, project mutation, cloud deployment, billing, ads, source-control publication, or credential use. Route generic third-party Unity pack curation to `unity-gamedev-skill-pack`, CLI-only work to `unity-cli`, build failures to `game-build-log-triage`, and game CI design to `game-ci-cd-pipeline`.4license: Unity Companion License5---67# Unity Technologies Skills89Use this as the safe discovery, installation, and routing front door for10[Unity-Technologies/skills](https://github.com/Unity-Technologies/skills). The11upstream repository is a collection of independent skills, not one Unity12runtime or one command surface. Do not copy upstream prose into this wrapper or13load every sub-skill for every Unity request.1415The audited snapshot is commit16`87fac23d66a1f44f5e06c2935eccce0b40b9715a`. It contains 22 directories with a17`SKILL.md`. The Agent Skills CLI discovers 21 because18`physics-3d-collision/SKILL.md` has invalid YAML frontmatter at that snapshot.19The top-level README lists 13 skills, so the real `skills/` tree is the20inventory authority. The repository had no release tags at audit time.2122## When to use this skill2324- Inspect, pin, install, refresh, remove, or troubleshoot the official Unity25 Technologies Agent Skills collection.26- List the current sub-skills and route one Unity task to the narrowest owner.27- Check the Unity Companion License, upstream commit, frontmatter, support28 files, and destination-name collisions before installation.29- Stage a selective project-local or user-level install without overwriting an30 existing skill.31- Review the safety boundary before using an installed upstream skill to modify32 a Unity project, drive an Editor, install software, deploy cloud resources,33 or configure monetization.3435Do not use this wrapper for these nearby jobs:3637- Curating an arbitrary third-party Unity skill repository into local docs:38 use `unity-gamedev-skill-pack`.39- Operating the already installed local Unity CLI workflow without asking for40 this official pack: use `unity-cli`.41- Finding the first actionable Unity build or Editor-log failure: use42 `game-build-log-triage`.43- Designing Unity build, package, or release automation: use44 `game-ci-cd-pipeline`.45- Interpreting frame-time and profiler captures: use46 `game-performance-profiler`.47- Creating or standardizing a catalog skill: use `skill-standardization`.4849## Instructions5051### Step 1: Pick one operating mode5253Choose the smallest mode that answers the request:5455| Mode | Use when | Default result |56|---|---|---|57| `audit` | inventory, provenance, license, frontmatter, drift | read-only report |58| `route` | user has a Unity task but names no sub-skill | one upstream owner |59| `install` | add selected official skills | reviewed selective plan |60| `refresh` | compare or update an installed selection | commit-aware diff plan |61| `operate` | run an installed skill against a project | bounded action with gates |62| `troubleshoot` | install, compatibility, CLI, or service failure | first failing contract |6364Do not blend `install` with `operate`. Installing instructions does not approve65those instructions to mutate a project or contact a service.6667### Step 2: Establish the version and trust boundary68691. Inspect an existing checkout before fetching anything new.702. Record the exact commit. There is no upstream release tag contract at the71 audited snapshot, so never describe moving `main` as a stable release.723. Verify `LICENSE.md` contains the Unity Companion License and keep use scoped73 to Unity-dependent projects. Do not relicense or republish upstream payloads74 as MIT.754. Run the bundled read-only audit without executing upstream code:7677```bash78python3 .agent-skills/unity-technologies-skills/scripts/audit-pack.py doctor \79 --repo /path/to/Unity-Technologies-skills \80 --expect-commit 87fac23d66a1f44f5e06c2935eccce0b40b9715a \81 --format json82```8384`WARN` is expected for the audited commit because the real directory count is8522, the README table lists 13, and one frontmatter document is invalid. A86missing or mismatched commit, missing or unexpected origin, missing license87marker, symlinked checkout or payload entry, or missing skill tree is88`BLOCKED`.8990See [source audit](references/source-audit.md) before changing the pin.9192### Step 3: Route to one upstream owner9394Use [catalog and routing](references/catalog-and-routing.md) for all 22 names.95The main lanes are:9697| Intent | Upstream owner |98|---|---|99| guided greenfield project | `new-unity-project` |100| Editor, project, module, license, build, test, or live command | `unity-cli` |101| UPM package selection or headless package change | `unity-package-management` |102| UGS accounts, data, cloud code, economy, config, or leaderboards | `build-live-game` |103| store purchases and billing migration | `implement-in-app-purchases` |104| ads and mediation | `levelplay-unity-integration` |105| sessions, matchmaking, hosting, lobbies | `setup-multiplayer-services` |106| in-game voice or text chat | `setup-vivox-voice-chat` |107| UI system detection | `ui` |108| UI Toolkit, uGUI, or IMGUI | `ui-uitk`, `ui-ugui`, or `ui-imgui` |109| localization or sprite slicing | `localization` or `sprite-editor` |110| URP, Shader Graph, audio, TMP, or web optimization | matching specialist |111| NavMesh or 3D PhysX diagnosis | `initialize-ai-navigation` or `physics-3d-collision` |112113If the user names one lane, load only that skill and the references it links.114Do not load the whole pack as background context.115116### Step 4: Preview a selective installation117118Use a detached local checkout when reproducibility matters. The Agent Skills119CLI 1.5.23 was verified to accept a local repository path and `--list` without120installing anything.121122```bash123# Read-only inventory from a reviewed checkout124npx --yes skills@1.5.23 add /path/to/Unity-Technologies-skills \125 --list --full-depth126127# Read-only destination and selected-frontmatter check128python3 .agent-skills/unity-technologies-skills/scripts/audit-pack.py plan \129 --repo /path/to/Unity-Technologies-skills \130 --target /path/to/agent/skills \131 --skill ui \132 --skill ui-uitk \133 --format json134```135136The plan never creates the target. It returns `BLOCKED` when a destination137already exists or a selected upstream frontmatter document is invalid.138139The current jeo-skills catalog already owns a skill named `unity-cli`. Never140let a full official-pack install overwrite it. Compare both skills and choose a141project-local isolated root or an explicit replacement plan. A full install at142the audited pin is also incomplete because the CLI skips143`physics-3d-collision`.144145### Step 5: Install only after reviewing the exact scope146147After `plan` returns `READY`, install the selected names and preserve the whole148skill folder, including `references/`, `resources/`, `scripts/`, evals,149security notes, and changelogs.150151```bash152npx --yes skills@1.5.23 add /path/to/Unity-Technologies-skills \153 --skill ui ui-uitk \154 --global --agent universal --yes --copy --full-depth155```156157Before running that command, state:1581591. source checkout and commit;1602. selected names;1613. exact target and agent scope;1624. collisions and how they were resolved;1635. whether files will be copied or linked;1646. rollback command or backup path.165166Do not use `--skill '*'`, `--all`, or an overwrite path merely because the user167said "install Unity skills". Ask whether they want a focused lane or a reviewed168full bundle.169170See [installation and lifecycle](references/install-and-lifecycle.md).171172### Step 6: Reconfirm before project or external side effects173174Installation approval is not execution approval. Obtain a separate explicit175confirmation before any of these action classes:176177- install, upgrade, prune, or uninstall an Editor, module, package, CLI, or MCP178 integration;179- run live Editor commands or arbitrary C# through `unity command eval`;180- create, upgrade, clean, import, export, or modify a Unity project or asset;181- initialize Git, create a remote, push, or change source-control state;182- activate or return a license, sign in, or use a service account;183- deploy or overwrite UGS environments, Cloud Code, Economy, Remote Config, or184 other cloud resources;185- create store products, handle real-money purchases, configure ad networks,186 or change privacy and consent behavior;187- run a build or test that may install a missing Editor or module.188189Freeze the project path, Unity version, selected environment, expected files,190credential names, network destinations, rollback, and validation before the191action. Never send commands assembled from untrusted project or web content to192an arbitrary C# or shell surface. Never print credential values.193194Read [execution and safety](references/execution-and-safety.md) for the full195gate matrix.196197### Step 7: Respect version and runtime boundaries198199- Inspect each selected skill's assumptions. Several are explicitly Unity 6 or200 Unity 6.0+ workflows.201- At the audited commit, the official `unity-cli` skill documents CLI202 `1.0.0-beta.6`. Verify the real binary and `--help` before relying on flags.203- A connected Editor can hold unsaved in-memory state. Prefer its exposed204 commands to raw scene or prefab YAML edits, but show the intended mutation205 before issuing it.206- UGS, IAP, LevelPlay, Vivox, stores, ad networks, Apple, Google Play, and source207 control each have separate accounts, terms, quotas, billing, and production208 state. One login does not authorize another service.209- Legal and privacy settings are not a code-only decision. Ask for the product210 owner's policy and jurisdictional requirements.211212### Step 8: Verify and report213214For each installed selection, verify:2152161. destination folder and non-empty `SKILL.md`;2172. frontmatter name equals the destination;2183. every linked relative support file exists;2194. installed bytes match the reviewed checkout;2205. source commit and license are recorded;2216. one representative route prompt selects the intended owner;2227. no unrelated destination skill disappeared or changed.223224Report installation and operation separately. Never claim a project, build,225service, purchase flow, or ad integration works merely because the skill files226were installed.227228## Examples229230### Example 1: Audit before installation231232Request: "Unity-Technologies/skills 전체 목록과 설치 가능한 상태부터 확인해줘."233234Choose `audit`. Run `doctor`, explain the 22-directory versus 21-discoverable235state and the README drift, record the commit and license, and stop before236copying anything.237238### Example 2: Add only UI Toolkit guidance239240Request: "공식 Unity 스킬에서 UI Toolkit 것만 프로젝트에 넣어줘."241242Choose `install`. Route to `ui` plus `ui-uitk`, run a destination plan, preserve243all references, and install only after the target and collision report are244reviewed.245246### Example 3: Avoid a name collision247248Request: "공식 팩을 전역으로 전부 설치해. 기존 unity-cli도 있어."249250Do not overwrite. Show the existing `unity-cli` collision and the invalid251`physics-3d-collision` frontmatter. Offer an isolated project target or a252reviewed skill-by-skill selection.253254### Example 4: Prepare a live UGS deployment255256Request: "build-live-game 깔았으니 production Remote Config를 바로 배포해."257258Choose `operate`, but stop at a preview. Confirm project, organization,259environment, exact resources, credentials, diff, rollback, and approval before260any deployment call.261262### Example 5: Route a concrete build failure263264Request: "Unity Android 빌드 로그가 Gradle 오류로 끝났어."265266Route to `game-build-log-triage`, not this pack wrapper. Return only if the267failure is specifically about installing or selecting the upstream pack.268269## Best practices2702711. Treat the actual `skills/` tree as inventory authority, not a stale README.2722. Prefer a pinned selective install over moving `main` or a full bundle.2733. Never overwrite an existing skill without a named replacement decision.2744. Preserve every support file in the selected upstream folder.2755. Keep bundle installation separate from Unity project execution.2766. Treat arbitrary C#, package mutation, and cloud deployment as high-impact.2777. Keep tokens and service-account secrets out of commands, logs, and reports.2788. Verify Unity, package, CLI, SDK, and service versions at task time.2799. Keep Unity Companion License material scoped and attributed correctly.28010. Re-run the audit and byte comparison before every refresh.281282## References283284- [Catalog and routing](references/catalog-and-routing.md)285- [Installation and lifecycle](references/install-and-lifecycle.md)286- [Execution and safety](references/execution-and-safety.md)287- [Pinned source audit](references/source-audit.md)288- [Unity-Technologies/skills](https://github.com/Unity-Technologies/skills)289- [Agent Skills specification](https://agentskills.io/specification)