nccgs 2.1.1 → 3.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (705) hide show
  1. package/CHANGELOG.md +76 -235
  2. package/LICENSE +1 -1
  3. package/README.md +87 -206
  4. package/THIRD_PARTY_NOTICES.md +6 -34
  5. package/bin/nccgs.mjs +96 -0
  6. package/cli/doctor.mjs +82 -0
  7. package/cli/feedback.mjs +13 -0
  8. package/cli/install.mjs +111 -0
  9. package/cli/release.mjs +59 -0
  10. package/cli/run.mjs +35 -0
  11. package/cli/spawn.mjs +20 -0
  12. package/cli/uninstall.mjs +43 -0
  13. package/cli/update-check.mjs +66 -0
  14. package/docs/EVIDENCE-VERIFICATION.md +22 -0
  15. package/package.json +23 -30
  16. package/runtime/core/diag.mjs +43 -0
  17. package/runtime/core/feedback-policy.mjs +54 -0
  18. package/runtime/core/fs.mjs +80 -0
  19. package/runtime/core/job-object.mjs +73 -0
  20. package/runtime/core/modes.mjs +87 -0
  21. package/runtime/core/process-tree.mjs +109 -0
  22. package/runtime/core/project.mjs +113 -0
  23. package/runtime/core/snapshot.mjs +114 -0
  24. package/runtime/hooks/common.mjs +22 -0
  25. package/runtime/hooks/done-guard.mjs +15 -0
  26. package/runtime/hooks/guard-mcp.mjs +8 -0
  27. package/runtime/hooks/guard-shell.mjs +16 -0
  28. package/runtime/hooks/guard-write.mjs +25 -0
  29. package/runtime/hooks/session-log.mjs +7 -0
  30. package/runtime/hooks/session-start.mjs +40 -0
  31. package/runtime/hooks/unity-transport.mjs +12 -0
  32. package/runtime/modes.json +39 -0
  33. package/runtime/task/cost.mjs +103 -0
  34. package/runtime/task/criteria.mjs +128 -0
  35. package/runtime/task/feedback.mjs +136 -0
  36. package/runtime/task/ledger.mjs +109 -0
  37. package/runtime/task/plan.mjs +69 -0
  38. package/runtime/task/project.mjs +79 -0
  39. package/runtime/task/report.mjs +252 -0
  40. package/runtime/task/task.mjs +238 -0
  41. package/runtime/unity/assets.mjs +51 -0
  42. package/runtime/unity/playtest.mjs +145 -0
  43. package/runtime/unity/unity.mjs +350 -0
  44. package/scripts/check-job-object.mjs +18 -0
  45. package/scripts/sync-unity-skills.mjs +35 -119
  46. package/template/CLAUDE.md +39 -0
  47. package/template/agents/fast-fix.md +9 -0
  48. package/template/agents/implementer.md +19 -0
  49. package/template/agents/playtester.md +15 -0
  50. package/template/agents/reviewer.md +19 -0
  51. package/template/agents/scout.md +9 -0
  52. package/template/ponytail/README.md +8 -0
  53. package/{.claude/nccgs/packages → template}/ponytail/engineering.md +10 -0
  54. package/template/protocols/evidence.md +52 -0
  55. package/template/protocols/playtest.md +45 -0
  56. package/template/protocols/review.md +34 -0
  57. package/template/protocols/unity-cli-notes.md +56 -0
  58. package/template/settings.fragment.json +33 -0
  59. package/template/skills/art-bible/SKILL.md +19 -0
  60. package/template/skills/asset-spec/SKILL.md +19 -0
  61. package/template/skills/brainstorm/SKILL.md +17 -0
  62. package/template/skills/feedback/SKILL.md +16 -0
  63. package/template/skills/map-systems/SKILL.md +25 -0
  64. package/template/skills/playtest/SKILL.md +17 -0
  65. package/template/skills/status/SKILL.md +18 -0
  66. package/template/skills/test/SKILL.md +34 -0
  67. package/template/skills/unity-foundation/SKILL.md +17 -0
  68. package/template/skills/vertical-slice/SKILL.md +17 -0
  69. package/template/skills/work/SKILL.md +65 -0
  70. package/tools/feedback-worker/README.md +12 -0
  71. package/tools/feedback-worker/worker.js +39 -0
  72. package/tools/feedback-worker/wrangler.toml +12 -0
  73. package/unity-skills/2d-pixel-perfect/SKILL.md +208 -0
  74. package/unity-skills/2d-pixel-perfect/references/api-reference.md +81 -0
  75. package/unity-skills/2d-pixel-perfect/references/camera-setup-builtin.cs +40 -0
  76. package/unity-skills/2d-pixel-perfect/references/camera-setup-urp.cs +49 -0
  77. package/unity-skills/2d-pixel-perfect/references/pipeline-detection.cs +50 -0
  78. package/unity-skills/2d-pixel-perfect/references/sprite-settings.cs +37 -0
  79. package/unity-skills/asset-transformer-toolkit/SECURITY.md +15 -0
  80. package/unity-skills/asset-transformer-toolkit/SKILL.md +39 -0
  81. package/unity-skills/asset-transformer-toolkit/references/create-importer.md +121 -0
  82. package/unity-skills/asset-transformer-toolkit/references/lods.md +61 -0
  83. package/unity-skills/asset-transformer-toolkit/references/rule-api.md +154 -0
  84. package/unity-skills/asset-transformer-toolkit/references/ruleblock-api.md +37 -0
  85. package/unity-skills/asset-transformer-toolkit/references/ruleset-api.md +138 -0
  86. package/unity-skills/asset-transformer-toolkit/references/rulesets-and-actions.md +227 -0
  87. package/unity-skills/audio-setup-mixers/SECURITY.md +16 -0
  88. package/unity-skills/audio-setup-mixers/SKILL.md +127 -0
  89. package/unity-skills/audio-setup-mixers/references/api.md +162 -0
  90. package/unity-skills/build-gtk/SKILL.md +242 -0
  91. package/unity-skills/build-gtk/references/graph-api.md +324 -0
  92. package/unity-skills/build-gtk/references/pitfalls.md +86 -0
  93. package/unity-skills/build-gtk/references/runtime-and-visualization.md +196 -0
  94. package/unity-skills/build-gtk/references/state-machine-api.md +286 -0
  95. package/unity-skills/build-live-game/SKILL.md +255 -0
  96. package/{.claude/skills → unity-skills}/build-live-game/references/achievements.md +132 -154
  97. package/{.claude/skills → unity-skills}/build-live-game/references/apis.md +10 -19
  98. package/{.claude/skills → unity-skills}/build-live-game/references/authentication.md +14 -20
  99. package/{.claude/skills → unity-skills}/build-live-game/references/battlepass.md +269 -225
  100. package/unity-skills/build-live-game/references/blueprints-and-samples.md +75 -0
  101. package/unity-skills/build-live-game/references/cloud-code-cloudbehaviours.md +1111 -0
  102. package/unity-skills/build-live-game/references/cloud-code-modules.md +1276 -0
  103. package/unity-skills/build-live-game/references/cloud-code.md +58 -0
  104. package/{.claude/skills → unity-skills}/build-live-game/references/cloud-save.md +15 -25
  105. package/{.claude/skills → unity-skills}/build-live-game/references/deployment.md +33 -18
  106. package/{.claude/skills → unity-skills}/build-live-game/references/player-account.md +31 -23
  107. package/{.claude/skills → unity-skills}/build-live-game/references/tooling.md +0 -56
  108. package/unity-skills/build-live-game/references/ugs-cli.md +86 -0
  109. package/unity-skills/craft-game-floors/SECURITY.md +23 -0
  110. package/unity-skills/craft-game-floors/SKILL.md +134 -0
  111. package/unity-skills/craft-game-floors/references/art-direction.md +85 -0
  112. package/unity-skills/craft-game-floors/references/camera-rigs.md +51 -0
  113. package/unity-skills/craft-game-floors/references/character-motion.md +35 -0
  114. package/unity-skills/craft-game-floors/references/game-audio.md +47 -0
  115. package/unity-skills/craft-game-floors/references/game-feel.md +68 -0
  116. package/unity-skills/craft-game-floors/references/game-shell.md +45 -0
  117. package/unity-skills/craft-game-floors/references/live-floor.md +35 -0
  118. package/unity-skills/craft-game-floors/references/placeholder-assets.md +35 -0
  119. package/unity-skills/craft-game-floors/references/scene-lighting.md +52 -0
  120. package/unity-skills/craft-game-floors/references/toon-shading.md +34 -0
  121. package/unity-skills/craft-game-floors/references/vfx.md +40 -0
  122. package/unity-skills/craft-game-floors/references/visual-scorecard.md +43 -0
  123. package/unity-skills/create-2d-physics/SECURITY.md +16 -0
  124. package/unity-skills/create-2d-physics/SKILL.md +128 -0
  125. package/unity-skills/create-2d-physics/references/2d-physics-core.md +155 -0
  126. package/unity-skills/create-2d-physics/references/legacy-2d-physics.md +45 -0
  127. package/unity-skills/create-tile-palette-or-rule-tiles/SKILL.md +12 -0
  128. package/unity-skills/create-tile-palette-or-rule-tiles/references/hexagonalruletile.md +71 -0
  129. package/unity-skills/create-tile-palette-or-rule-tiles/references/palette-create.md +38 -0
  130. package/unity-skills/create-tile-palette-or-rule-tiles/references/ruletile-createempty.md +35 -0
  131. package/unity-skills/create-tile-palette-or-rule-tiles/references/ruletile-createfromsegment.md +212 -0
  132. package/unity-skills/create-tile-palette-or-rule-tiles/references/ruletile.md +90 -0
  133. package/unity-skills/create-tile-palette-or-rule-tiles/scripts/CreatePaletteTemplate.cs +148 -0
  134. package/unity-skills/create-tile-palette-or-rule-tiles/scripts/ManualWorkflowExample.cs +63 -0
  135. package/unity-skills/create-tile-palette-or-rule-tiles/scripts/RuleTileGenerator.cs +61 -0
  136. package/unity-skills/create-tile-palette-or-rule-tiles/scripts/TilemapRuleTileCreateFromSegment.cs +225 -0
  137. package/unity-skills/generate-editor-search-query/SECURITY.md +17 -0
  138. package/unity-skills/generate-editor-search-query/SKILL.md +117 -0
  139. package/unity-skills/generate-editor-search-query/references/open-search-window.md +70 -0
  140. package/unity-skills/generate-editor-search-query/references/query-patterns.md +124 -0
  141. package/{.claude/skills → unity-skills}/implement-in-app-purchases/SKILL.md +1 -2
  142. package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/api-notes.md +25 -28
  143. package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/path-convert-native-google-billing.md +1 -1
  144. package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/path-implement-iap-d2c.md +40 -5
  145. package/{.claude/skills → unity-skills}/initialize-ai-navigation/SKILL.md +4 -4
  146. package/{.claude/skills → unity-skills}/initialize-ai-navigation/references/navigation-system.md +3 -3
  147. package/{.claude/skills → unity-skills}/levelplay-unity-integration/CHANGELOG.md +12 -0
  148. package/{.claude/skills → unity-skills}/levelplay-unity-integration/README.md +9 -5
  149. package/unity-skills/levelplay-unity-integration/SKILL.md +442 -0
  150. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/banner-api.md +15 -8
  151. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/best-practices.md +604 -536
  152. package/unity-skills/levelplay-unity-integration/references/dependency-resolution.md +94 -0
  153. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/ilrd-api.md +2 -2
  154. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/initialization-api.md +221 -0
  155. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/interstitial-api.md +11 -3
  156. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/ios-setup.md +6 -34
  157. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/migration-sdk-9.md +1 -1
  158. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/privacy-settings.md +14 -29
  159. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/rewarded-api.md +20 -4
  160. package/unity-skills/levelplay-unity-integration/references/testing-and-validation.md +222 -0
  161. package/unity-skills/levelplay-unity-integration/references/troubleshooting.md +99 -0
  162. package/unity-skills/localization/SKILL.md +347 -0
  163. package/{.claude/skills → unity-skills}/localization/references/api-notes.md +4 -0
  164. package/unity-skills/localization/resources/L10nBatchProcessor.cs +191 -0
  165. package/unity-skills/manage-sprite-atlas/SKILL.md +351 -0
  166. package/unity-skills/manage-sprite-atlas/references/addressables-delivery.md +58 -0
  167. package/unity-skills/manage-sprite-atlas/references/api.md +382 -0
  168. package/unity-skills/manage-sprite-atlas/references/best-practices.md +183 -0
  169. package/unity-skills/manage-sprite-atlas/references/common-errors.md +123 -0
  170. package/unity-skills/manage-sprite-atlas/references/custom-packing.md +147 -0
  171. package/unity-skills/manage-sprite-atlas/references/manual-authoring.md +39 -0
  172. package/unity-skills/manage-sprite-atlas/resources/authoringvsruntime.cs +176 -0
  173. package/unity-skills/manage-sprite-atlas/resources/buildaddressablespostprocess.cs +59 -0
  174. package/unity-skills/manage-sprite-atlas/resources/cacheloadedatlases.cs +145 -0
  175. package/unity-skills/manage-sprite-atlas/resources/cleanupbatchoperations.cs +119 -0
  176. package/unity-skills/manage-sprite-atlas/resources/createandconfiguremasteratlas.cs +57 -0
  177. package/unity-skills/manage-sprite-atlas/resources/custompackersetup.cs +88 -0
  178. package/unity-skills/manage-sprite-atlas/resources/deprecatedmethods.cs +142 -0
  179. package/unity-skills/manage-sprite-atlas/resources/dontmodifywithoutsaving.cs +120 -0
  180. package/unity-skills/manage-sprite-atlas/resources/dontpackinruntimebuilds.cs +190 -0
  181. package/unity-skills/manage-sprite-atlas/resources/dontscriptspriteatlasineditor.cs +114 -0
  182. package/unity-skills/manage-sprite-atlas/resources/editorconfiguration.cs +95 -0
  183. package/unity-skills/manage-sprite-atlas/resources/enablespritepacking.cs +172 -0
  184. package/unity-skills/manage-sprite-atlas/resources/gridspritepacker.cs +50 -0
  185. package/unity-skills/manage-sprite-atlas/resources/handlelatebinding.cs +147 -0
  186. package/unity-skills/manage-sprite-atlas/resources/handlenullcases.cs +141 -0
  187. package/unity-skills/manage-sprite-atlas/resources/migratev1tov2.cs +335 -0
  188. package/unity-skills/manage-sprite-atlas/resources/multipagepacker.cs +80 -0
  189. package/unity-skills/manage-sprite-atlas/resources/optimizetexturesettings.cs +191 -0
  190. package/unity-skills/manage-sprite-atlas/resources/packerdebugging.cs +158 -0
  191. package/unity-skills/manage-sprite-atlas/resources/packtransform.cs +51 -0
  192. package/unity-skills/manage-sprite-atlas/resources/platformnames.cs +127 -0
  193. package/unity-skills/manage-sprite-atlas/resources/queryspritesefficiently.cs +222 -0
  194. package/unity-skills/manage-sprite-atlas/resources/registercallbacks.cs +152 -0
  195. package/unity-skills/manage-sprite-atlas/resources/runtimeatlasloader.cs +15 -0
  196. package/unity-skills/manage-sprite-atlas/resources/runtimespriteaccess.cs +19 -0
  197. package/unity-skills/manage-sprite-atlas/resources/savespriteatlasasset.cs +107 -0
  198. package/unity-skills/manage-sprite-atlas/resources/scriptablepacker.cs +81 -0
  199. package/unity-skills/manage-sprite-atlas/resources/setincludeinbuild.cs +164 -0
  200. package/unity-skills/manage-sprite-atlas/resources/sizeoptimizedpacker.cs +88 -0
  201. package/unity-skills/manage-sprite-atlas/resources/spriteatlaslatebinding.cs +123 -0
  202. package/unity-skills/manage-sprite-atlas/resources/spriteatlasprebuildgenerator.cs +219 -0
  203. package/unity-skills/manage-sprite-atlas/resources/spritedata.cs +35 -0
  204. package/unity-skills/manage-sprite-atlas/resources/spritepack.cs +39 -0
  205. package/unity-skills/manage-sprite-atlas/resources/texturedata.cs +15 -0
  206. package/unity-skills/manage-sprite-atlas/resources/updatebuildscripts.cs +357 -0
  207. package/unity-skills/manage-sprite-atlas/resources/updatesettingsconfiguration.cs +135 -0
  208. package/unity-skills/manage-sprite-atlas/resources/usevariantswisely.cs +179 -0
  209. package/unity-skills/manage-sprite-atlas/resources/variantatlas.cs +39 -0
  210. package/unity-skills/manifest.json +1155 -0
  211. package/unity-skills/migrate-birp-to-urp/SECURITY.md +16 -0
  212. package/unity-skills/migrate-birp-to-urp/SKILL.md +543 -0
  213. package/unity-skills/migrate-birp-to-urp/references/capturing-the-editor.md +66 -0
  214. package/unity-skills/migrate-birp-to-urp/references/complex-shader-situations.md +272 -0
  215. package/unity-skills/migrate-birp-to-urp/references/custom-shader-triage.md +123 -0
  216. package/unity-skills/migrate-birp-to-urp/references/implementation-patterns.md +529 -0
  217. package/unity-skills/migrate-birp-to-urp/references/migration-workflow.md +265 -0
  218. package/unity-skills/migrate-birp-to-urp/references/quality-settings-map.md +69 -0
  219. package/unity-skills/new-unity-project/SECURITY.md +26 -0
  220. package/unity-skills/new-unity-project/SKILL.md +386 -0
  221. package/unity-skills/new-unity-project/references/skill-setup.md +66 -0
  222. package/unity-skills/optimize-audio/SECURITY.md +16 -0
  223. package/{.claude/skills → unity-skills}/optimize-audio/SKILL.md +17 -17
  224. package/{.claude/skills → unity-skills}/optimize-audio/resources/audio-import-api.md +8 -5
  225. package/{.claude/skills → unity-skills}/optimize-text-mesh-pro/SKILL.md +1 -11
  226. package/unity-skills/optimize-web/SECURITY.md +16 -0
  227. package/{.claude/skills → unity-skills}/optimize-web/SKILL.md +164 -27
  228. package/unity-skills/optimize-web/scripts/WebOptimizer.cs +46 -0
  229. package/unity-skills/optimize-web/scripts/toktx-examples.sh +11 -0
  230. package/{.claude/skills → unity-skills}/physics-3d-collision/SKILL.md +2 -2
  231. package/unity-skills/physics-3d-collision/references/troubleshooting.md +8 -0
  232. package/unity-skills/project-auditor-fixes/SKILL.md +64 -0
  233. package/{.claude/skills → unity-skills}/setup-multiplayer-services/SKILL.md +1 -4
  234. package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/SKILL.md +1 -1
  235. package/{.claude/skills → unity-skills}/shader-graph-create-custom-node/SKILL.md +1 -1
  236. package/unity-skills/sprite-editor/SECURITY.md +16 -0
  237. package/{.claude/skills → unity-skills}/sprite-editor/SKILL.md +9 -9
  238. package/{.claude/skills → unity-skills}/sprite-editor/references/templates.md +1 -1
  239. package/unity-skills/sprite-segment-3x3grid/SKILL.md +136 -0
  240. package/unity-skills/sprite-segment-3x3grid/scripts/SpriteGridAnalysis.cs +119 -0
  241. package/{.claude/skills → unity-skills}/ui/SKILL.md +1 -1
  242. package/{.claude/skills → unity-skills}/ui-imgui/SKILL.md +1 -7
  243. package/{.claude/skills → unity-skills}/ui-ugui/SKILL.md +3 -9
  244. package/{.claude/skills → unity-skills}/ui-uitk/SKILL.md +8 -14
  245. package/{.claude/skills → unity-skills}/ui-uitk/references/custom-elements.md +1 -1
  246. package/unity-skills/unity-cli/CHANGELOG.md +515 -0
  247. package/unity-skills/unity-cli/SECURITY.md +68 -0
  248. package/unity-skills/unity-cli/SKILL.md +723 -0
  249. package/unity-skills/unity-cli/references/auth-license-cloud.md +318 -0
  250. package/unity-skills/unity-cli/references/build-run-test.md +555 -0
  251. package/unity-skills/unity-cli/references/cloud-automation.md +736 -0
  252. package/{.claude/skills → unity-skills}/unity-cli/references/collaboration.md +166 -105
  253. package/unity-skills/unity-cli/references/config-hub.md +239 -0
  254. package/unity-skills/unity-cli/references/diagnostics-maintenance.md +720 -0
  255. package/unity-skills/unity-cli/references/docs-workflow.md +179 -0
  256. package/unity-skills/unity-cli/references/editors-install.md +476 -0
  257. package/unity-skills/unity-cli/references/integration-advanced.md +1130 -0
  258. package/unity-skills/unity-cli/references/playmode-verification-loop.md +279 -0
  259. package/unity-skills/unity-cli/references/projects-templates.md +996 -0
  260. package/unity-skills/unity-cli/references/version-control.md +612 -0
  261. package/{.claude/skills → unity-skills}/unity-package-management/SKILL.md +60 -12
  262. package/{.claude/skills → unity-skills}/unity-package-management/references/select-packages.md +39 -21
  263. package/unity-skills/unity-pipeline/SECURITY.md +17 -0
  264. package/unity-skills/unity-pipeline/SKILL.md +335 -0
  265. package/unity-skills/urp-postprocessing/SECURITY.md +16 -0
  266. package/{.claude/skills → unity-skills}/urp-postprocessing/SKILL.md +12 -12
  267. package/{.claude/skills → unity-skills}/urp-postprocessing/references/code-templates.md +39 -8
  268. package/{.claude/skills → unity-skills}/validate-urp-render-graph-renderer-feature/SKILL.md +1 -1
  269. package/.claude/agents/nccgs-adversarial-reviewer.md +0 -43
  270. package/.claude/agents/nccgs-engine-programmer.md +0 -27
  271. package/.claude/agents/nccgs-fast-implementer.md +0 -30
  272. package/.claude/agents/nccgs-game-designer.md +0 -26
  273. package/.claude/agents/nccgs-gameplay-programmer.md +0 -26
  274. package/.claude/agents/nccgs-qa-engineer.md +0 -27
  275. package/.claude/agents/nccgs-task-scout.md +0 -24
  276. package/.claude/agents/nccgs-ui-programmer.md +0 -27
  277. package/.claude/agents/nccgs-unity-build-specialist.md +0 -27
  278. package/.claude/agents/nccgs-unity-implementer.md +0 -28
  279. package/.claude/agents/nccgs-unity-systems-specialist.md +0 -27
  280. package/.claude/agents/nccgs-unity-ui-specialist.md +0 -27
  281. package/.claude/agents/nccgs-verification-engineer.md +0 -27
  282. package/.claude/nccgs/MEMORY.md +0 -66
  283. package/.claude/nccgs/THIRD_PARTY_NOTICES.md +0 -29
  284. package/.claude/nccgs/VERSION +0 -1
  285. package/.claude/nccgs/agent-library/nccgs-accessibility-specialist.md +0 -25
  286. package/.claude/nccgs/agent-library/nccgs-adversarial-reviewer.md +0 -41
  287. package/.claude/nccgs/agent-library/nccgs-ai-programmer.md +0 -25
  288. package/.claude/nccgs/agent-library/nccgs-analytics-engineer.md +0 -25
  289. package/.claude/nccgs/agent-library/nccgs-art-direction-lead.md +0 -25
  290. package/.claude/nccgs/agent-library/nccgs-audio-direction-lead.md +0 -25
  291. package/.claude/nccgs/agent-library/nccgs-creative-director.md +0 -25
  292. package/.claude/nccgs/agent-library/nccgs-documentation-manager.md +0 -25
  293. package/.claude/nccgs/agent-library/nccgs-economy-designer.md +0 -25
  294. package/.claude/nccgs/agent-library/nccgs-engine-programmer.md +0 -25
  295. package/.claude/nccgs/agent-library/nccgs-fast-implementer.md +0 -28
  296. package/.claude/nccgs/agent-library/nccgs-game-design-lead.md +0 -25
  297. package/.claude/nccgs/agent-library/nccgs-game-designer.md +0 -24
  298. package/.claude/nccgs/agent-library/nccgs-gameplay-programmer.md +0 -24
  299. package/.claude/nccgs/agent-library/nccgs-level-designer.md +0 -25
  300. package/.claude/nccgs/agent-library/nccgs-live-ops-designer.md +0 -25
  301. package/.claude/nccgs/agent-library/nccgs-localization-lead.md +0 -25
  302. package/.claude/nccgs/agent-library/nccgs-narrative-lead.md +0 -25
  303. package/.claude/nccgs/agent-library/nccgs-network-programmer.md +0 -25
  304. package/.claude/nccgs/agent-library/nccgs-performance-analyst.md +0 -25
  305. package/.claude/nccgs/agent-library/nccgs-producer.md +0 -25
  306. package/.claude/nccgs/agent-library/nccgs-production-coordinator.md +0 -22
  307. package/.claude/nccgs/agent-library/nccgs-programming-lead.md +0 -25
  308. package/.claude/nccgs/agent-library/nccgs-prototyper.md +0 -25
  309. package/.claude/nccgs/agent-library/nccgs-qa-engineer.md +0 -25
  310. package/.claude/nccgs/agent-library/nccgs-qa-lead.md +0 -25
  311. package/.claude/nccgs/agent-library/nccgs-release-engineer.md +0 -25
  312. package/.claude/nccgs/agent-library/nccgs-release-lead.md +0 -25
  313. package/.claude/nccgs/agent-library/nccgs-security-engineer.md +0 -25
  314. package/.claude/nccgs/agent-library/nccgs-sound-designer.md +0 -25
  315. package/.claude/nccgs/agent-library/nccgs-systems-designer.md +0 -25
  316. package/.claude/nccgs/agent-library/nccgs-task-scout.md +0 -22
  317. package/.claude/nccgs/agent-library/nccgs-technical-architect.md +0 -25
  318. package/.claude/nccgs/agent-library/nccgs-technical-artist.md +0 -25
  319. package/.claude/nccgs/agent-library/nccgs-technical-director.md +0 -25
  320. package/.claude/nccgs/agent-library/nccgs-tools-programmer.md +0 -25
  321. package/.claude/nccgs/agent-library/nccgs-ui-programmer.md +0 -25
  322. package/.claude/nccgs/agent-library/nccgs-unity-build-specialist.md +0 -25
  323. package/.claude/nccgs/agent-library/nccgs-unity-content-specialist.md +0 -25
  324. package/.claude/nccgs/agent-library/nccgs-unity-implementer.md +0 -26
  325. package/.claude/nccgs/agent-library/nccgs-unity-rendering-specialist.md +0 -25
  326. package/.claude/nccgs/agent-library/nccgs-unity-systems-specialist.md +0 -25
  327. package/.claude/nccgs/agent-library/nccgs-unity-ui-specialist.md +0 -25
  328. package/.claude/nccgs/agent-library/nccgs-ux-designer.md +0 -25
  329. package/.claude/nccgs/agent-library/nccgs-verification-engineer.md +0 -25
  330. package/.claude/nccgs/agent-library/nccgs-world-builder.md +0 -25
  331. package/.claude/nccgs/agent-library/nccgs-writer.md +0 -25
  332. package/.claude/nccgs/constitution.md +0 -187
  333. package/.claude/nccgs/hooks/agent-audit.mjs +0 -16
  334. package/.claude/nccgs/hooks/closure-guard.mjs +0 -59
  335. package/.claude/nccgs/hooks/common.mjs +0 -42
  336. package/.claude/nccgs/hooks/post-compact.mjs +0 -1
  337. package/.claude/nccgs/hooks/pre-compact.mjs +0 -8
  338. package/.claude/nccgs/hooks/protect-git.mjs +0 -22
  339. package/.claude/nccgs/hooks/protect-write.mjs +0 -17
  340. package/.claude/nccgs/hooks/runtime-observation.mjs +0 -11
  341. package/.claude/nccgs/hooks/session-start.mjs +0 -29
  342. package/.claude/nccgs/hooks/session-stop.mjs +0 -7
  343. package/.claude/nccgs/hooks/unity-transport-guard.mjs +0 -11
  344. package/.claude/nccgs/packages/ponytail/README.md +0 -46
  345. package/.claude/nccgs/packages/ponytail/manifest.json +0 -24
  346. package/.claude/nccgs/pipeline.json +0 -260
  347. package/.claude/nccgs/protocols/agent-contract.md +0 -101
  348. package/.claude/nccgs/protocols/astra-claude.md +0 -111
  349. package/.claude/nccgs/protocols/bounded-repair.md +0 -246
  350. package/.claude/nccgs/protocols/context-packets.md +0 -23
  351. package/.claude/nccgs/protocols/delivery-acceptance.md +0 -105
  352. package/.claude/nccgs/protocols/design-lifecycle.md +0 -139
  353. package/.claude/nccgs/protocols/editor-session-evidence.md +0 -52
  354. package/.claude/nccgs/protocols/evidence.md +0 -31
  355. package/.claude/nccgs/protocols/model-routing.md +0 -46
  356. package/.claude/nccgs/protocols/orchestration.md +0 -74
  357. package/.claude/nccgs/protocols/review-handoff.md +0 -101
  358. package/.claude/nccgs/protocols/shared-workflow-context.md +0 -33
  359. package/.claude/nccgs/protocols/standalone-gates.md +0 -329
  360. package/.claude/nccgs/protocols/standalone-pilot.md +0 -144
  361. package/.claude/nccgs/protocols/standalone.md +0 -207
  362. package/.claude/nccgs/protocols/task-autonomy.md +0 -55
  363. package/.claude/nccgs/protocols/task-gates.md +0 -144
  364. package/.claude/nccgs/protocols/task-slices.md +0 -106
  365. package/.claude/nccgs/protocols/unity-boundary.md +0 -31
  366. package/.claude/nccgs/routing.generated.md +0 -49
  367. package/.claude/nccgs/settings.fragment.json +0 -213
  368. package/.claude/nccgs/studio.json +0 -472
  369. package/.claude/nccgs/tools/approve-overrides.mjs +0 -81
  370. package/.claude/nccgs/tools/autonomy.mjs +0 -40
  371. package/.claude/nccgs/tools/command-process.mjs +0 -50
  372. package/.claude/nccgs/tools/command-tokens.mjs +0 -22
  373. package/.claude/nccgs/tools/compile-policy.mjs +0 -121
  374. package/.claude/nccgs/tools/configure-models.mjs +0 -96
  375. package/.claude/nccgs/tools/criteria.mjs +0 -121
  376. package/.claude/nccgs/tools/delivery-budget.mjs +0 -52
  377. package/.claude/nccgs/tools/design-readiness.mjs +0 -158
  378. package/.claude/nccgs/tools/editor-session-evidence.mjs +0 -66
  379. package/.claude/nccgs/tools/evidence.mjs +0 -153
  380. package/.claude/nccgs/tools/gates.mjs +0 -297
  381. package/.claude/nccgs/tools/handoff.mjs +0 -51
  382. package/.claude/nccgs/tools/hook-transport.mjs +0 -34
  383. package/.claude/nccgs/tools/inputs.mjs +0 -108
  384. package/.claude/nccgs/tools/installation-guard.mjs +0 -55
  385. package/.claude/nccgs/tools/integrity.mjs +0 -69
  386. package/.claude/nccgs/tools/lifecycle.mjs +0 -542
  387. package/.claude/nccgs/tools/native-completion.mjs +0 -30
  388. package/.claude/nccgs/tools/orchestration.mjs +0 -680
  389. package/.claude/nccgs/tools/paths.mjs +0 -60
  390. package/.claude/nccgs/tools/policy.mjs +0 -107
  391. package/.claude/nccgs/tools/process-lock.mjs +0 -74
  392. package/.claude/nccgs/tools/repair-packet.mjs +0 -106
  393. package/.claude/nccgs/tools/returned-handoff.mjs +0 -47
  394. package/.claude/nccgs/tools/review-budget.mjs +0 -171
  395. package/.claude/nccgs/tools/review-handoff.mjs +0 -66
  396. package/.claude/nccgs/tools/runtime.mjs +0 -71
  397. package/.claude/nccgs/tools/session-budget.mjs +0 -67
  398. package/.claude/nccgs/tools/shared-context-guard.mjs +0 -60
  399. package/.claude/nccgs/tools/shared-context.mjs +0 -25
  400. package/.claude/nccgs/tools/task-slices.mjs +0 -147
  401. package/.claude/nccgs/tools/task.mjs +0 -145
  402. package/.claude/nccgs/tools/tool-guard.mjs +0 -120
  403. package/.claude/nccgs/tools/unity-repair.mjs +0 -128
  404. package/.claude/nccgs/tools/unity-transport.mjs +0 -170
  405. package/.claude/nccgs/tools/verification-jobs.mjs +0 -171
  406. package/.claude/nccgs/tools/verification-worker.mjs +0 -71
  407. package/.claude/nccgs/tools/windows-compiler-server.cs +0 -163
  408. package/.claude/nccgs/tools/windows-job.cs +0 -103
  409. package/.claude/nccgs/unity-skills-manifest.json +0 -727
  410. package/.claude/nccgs/workflow-catalog.json +0 -654
  411. package/.claude/rules/nccgs-canonical-docs.md +0 -19
  412. package/.claude/rules/nccgs-editor-tools.md +0 -12
  413. package/.claude/rules/nccgs-localization.md +0 -12
  414. package/.claude/rules/nccgs-networking.md +0 -13
  415. package/.claude/rules/nccgs-performance.md +0 -14
  416. package/.claude/rules/nccgs-rendering.md +0 -16
  417. package/.claude/rules/nccgs-security.md +0 -13
  418. package/.claude/rules/nccgs-tests.md +0 -18
  419. package/.claude/rules/nccgs-ui.md +0 -14
  420. package/.claude/rules/nccgs-unity-assets.md +0 -21
  421. package/.claude/rules/nccgs-unity-code.md +0 -22
  422. package/.claude/skills/accessibility-review/SKILL.md +0 -22
  423. package/.claude/skills/accessibility-review/references/astra.md +0 -17
  424. package/.claude/skills/accessibility-review/references/legacy.md +0 -7
  425. package/.claude/skills/architecture-decision/SKILL.md +0 -22
  426. package/.claude/skills/architecture-decision/references/astra.md +0 -12
  427. package/.claude/skills/architecture-decision/references/legacy.md +0 -7
  428. package/.claude/skills/asset-audit/SKILL.md +0 -22
  429. package/.claude/skills/asset-audit/references/astra.md +0 -17
  430. package/.claude/skills/asset-audit/references/legacy.md +0 -7
  431. package/.claude/skills/audit/SKILL.md +0 -22
  432. package/.claude/skills/audit/references/astra.md +0 -17
  433. package/.claude/skills/audit/references/dimensions.md +0 -46
  434. package/.claude/skills/audit/references/legacy.md +0 -9
  435. package/.claude/skills/balance-review/SKILL.md +0 -22
  436. package/.claude/skills/balance-review/references/astra.md +0 -17
  437. package/.claude/skills/balance-review/references/legacy.md +0 -7
  438. package/.claude/skills/bug-triage/SKILL.md +0 -22
  439. package/.claude/skills/bug-triage/references/astra.md +0 -27
  440. package/.claude/skills/bug-triage/references/legacy.md +0 -7
  441. package/.claude/skills/build-live-game/SKILL.md +0 -317
  442. package/.claude/skills/build-live-game/references/cloud-code.md +0 -563
  443. package/.claude/skills/closure/SKILL.md +0 -22
  444. package/.claude/skills/closure/references/astra.md +0 -15
  445. package/.claude/skills/closure/references/legacy.md +0 -7
  446. package/.claude/skills/compatibility-review/SKILL.md +0 -22
  447. package/.claude/skills/compatibility-review/references/astra.md +0 -17
  448. package/.claude/skills/compatibility-review/references/legacy.md +0 -7
  449. package/.claude/skills/context-pack/SKILL.md +0 -22
  450. package/.claude/skills/context-pack/references/astra.md +0 -12
  451. package/.claude/skills/context-pack/references/legacy.md +0 -7
  452. package/.claude/skills/dependency-review/SKILL.md +0 -22
  453. package/.claude/skills/dependency-review/references/astra.md +0 -17
  454. package/.claude/skills/dependency-review/references/legacy.md +0 -7
  455. package/.claude/skills/design/SKILL.md +0 -24
  456. package/.claude/skills/design/references/astra.md +0 -12
  457. package/.claude/skills/design/references/legacy.md +0 -13
  458. package/.claude/skills/design-review/SKILL.md +0 -24
  459. package/.claude/skills/design-review/references/astra.md +0 -17
  460. package/.claude/skills/design-review/references/legacy.md +0 -7
  461. package/.claude/skills/evidence-review/SKILL.md +0 -22
  462. package/.claude/skills/evidence-review/references/astra.md +0 -17
  463. package/.claude/skills/evidence-review/references/legacy.md +0 -7
  464. package/.claude/skills/hotfix/SKILL.md +0 -22
  465. package/.claude/skills/hotfix/references/astra.md +0 -30
  466. package/.claude/skills/hotfix/references/legacy.md +0 -7
  467. package/.claude/skills/incident-recovery/SKILL.md +0 -22
  468. package/.claude/skills/incident-recovery/references/astra.md +0 -27
  469. package/.claude/skills/incident-recovery/references/legacy.md +0 -7
  470. package/.claude/skills/levelplay-unity-integration/SKILL.md +0 -1126
  471. package/.claude/skills/localization/SKILL.md +0 -135
  472. package/.claude/skills/localization/resources/L10nBatchProcessor.cs +0 -69
  473. package/.claude/skills/localize-game/SKILL.md +0 -22
  474. package/.claude/skills/localize-game/references/astra.md +0 -27
  475. package/.claude/skills/localize-game/references/legacy.md +0 -7
  476. package/.claude/skills/migrate-project/SKILL.md +0 -22
  477. package/.claude/skills/migrate-project/references/astra.md +0 -30
  478. package/.claude/skills/migrate-project/references/legacy.md +0 -19
  479. package/.claude/skills/migrate-project/references/procedure.md +0 -96
  480. package/.claude/skills/milestone-review/SKILL.md +0 -22
  481. package/.claude/skills/milestone-review/references/astra.md +0 -12
  482. package/.claude/skills/milestone-review/references/legacy.md +0 -7
  483. package/.claude/skills/nccgs-code-review/SKILL.md +0 -22
  484. package/.claude/skills/nccgs-code-review/references/astra.md +0 -21
  485. package/.claude/skills/nccgs-code-review/references/legacy.md +0 -7
  486. package/.claude/skills/new-unity-project/SKILL.md +0 -179
  487. package/.claude/skills/performance-audit/SKILL.md +0 -22
  488. package/.claude/skills/performance-audit/references/astra.md +0 -17
  489. package/.claude/skills/performance-audit/references/legacy.md +0 -7
  490. package/.claude/skills/physics-3d-collision/references/troubleshooting.md +0 -41
  491. package/.claude/skills/plan-feature/SKILL.md +0 -22
  492. package/.claude/skills/plan-feature/references/astra.md +0 -12
  493. package/.claude/skills/plan-feature/references/legacy.md +0 -7
  494. package/.claude/skills/playtest/SKILL.md +0 -22
  495. package/.claude/skills/playtest/references/astra.md +0 -31
  496. package/.claude/skills/playtest/references/legacy.md +0 -7
  497. package/.claude/skills/project-stage/SKILL.md +0 -22
  498. package/.claude/skills/project-stage/references/astra.md +0 -12
  499. package/.claude/skills/project-stage/references/legacy.md +0 -7
  500. package/.claude/skills/prototype-feature/SKILL.md +0 -22
  501. package/.claude/skills/prototype-feature/references/astra.md +0 -31
  502. package/.claude/skills/prototype-feature/references/legacy.md +0 -7
  503. package/.claude/skills/qa-plan/SKILL.md +0 -22
  504. package/.claude/skills/qa-plan/references/astra.md +0 -12
  505. package/.claude/skills/qa-plan/references/legacy.md +0 -7
  506. package/.claude/skills/release/SKILL.md +0 -22
  507. package/.claude/skills/release/references/astra.md +0 -30
  508. package/.claude/skills/release/references/legacy.md +0 -11
  509. package/.claude/skills/release-readiness/SKILL.md +0 -22
  510. package/.claude/skills/release-readiness/references/astra.md +0 -17
  511. package/.claude/skills/release-readiness/references/legacy.md +0 -7
  512. package/.claude/skills/retrospective/SKILL.md +0 -22
  513. package/.claude/skills/retrospective/references/astra.md +0 -12
  514. package/.claude/skills/retrospective/references/legacy.md +0 -7
  515. package/.claude/skills/review/SKILL.md +0 -22
  516. package/.claude/skills/review/references/astra.md +0 -21
  517. package/.claude/skills/review/references/legacy.md +0 -9
  518. package/.claude/skills/security-audit/SKILL.md +0 -22
  519. package/.claude/skills/security-audit/references/astra.md +0 -17
  520. package/.claude/skills/security-audit/references/legacy.md +0 -7
  521. package/.claude/skills/sprint-plan/SKILL.md +0 -22
  522. package/.claude/skills/sprint-plan/references/astra.md +0 -12
  523. package/.claude/skills/sprint-plan/references/legacy.md +0 -7
  524. package/.claude/skills/status/SKILL.md +0 -22
  525. package/.claude/skills/status/references/astra.md +0 -19
  526. package/.claude/skills/status/references/legacy.md +0 -9
  527. package/.claude/skills/story-readiness/SKILL.md +0 -24
  528. package/.claude/skills/story-readiness/references/astra.md +0 -17
  529. package/.claude/skills/story-readiness/references/legacy.md +0 -7
  530. package/.claude/skills/test/SKILL.md +0 -22
  531. package/.claude/skills/test/references/astra.md +0 -27
  532. package/.claude/skills/test/references/legacy.md +0 -9
  533. package/.claude/skills/ui-review/SKILL.md +0 -22
  534. package/.claude/skills/ui-review/references/astra.md +0 -17
  535. package/.claude/skills/ui-review/references/legacy.md +0 -7
  536. package/.claude/skills/unity-cli/CHANGELOG.md +0 -233
  537. package/.claude/skills/unity-cli/SECURITY.md +0 -22
  538. package/.claude/skills/unity-cli/SKILL.md +0 -414
  539. package/.claude/skills/unity-cli/references/auth-license-cloud.md +0 -146
  540. package/.claude/skills/unity-cli/references/build-run-test.md +0 -349
  541. package/.claude/skills/unity-cli/references/config-hub.md +0 -103
  542. package/.claude/skills/unity-cli/references/diagnostics-maintenance.md +0 -326
  543. package/.claude/skills/unity-cli/references/editors-install.md +0 -327
  544. package/.claude/skills/unity-cli/references/integration-advanced.md +0 -472
  545. package/.claude/skills/unity-cli/references/projects-templates.md +0 -574
  546. package/.claude/skills/work/SKILL.md +0 -22
  547. package/.claude/skills/work/references/astra.md +0 -32
  548. package/.claude/skills/work/references/classification.md +0 -41
  549. package/.claude/skills/work/references/closure.md +0 -60
  550. package/.claude/skills/work/references/feature-contracts.md +0 -36
  551. package/.claude/skills/work/references/legacy.md +0 -29
  552. package/.claude/skills/work/references/verification.md +0 -26
  553. package/CLAUDE.md +0 -10
  554. package/MEMORY.md +0 -109
  555. package/UPGRADING.md +0 -130
  556. package/VERSION +0 -1
  557. package/docs/ARCHITECTURE.md +0 -131
  558. package/docs/ASSET-PRODUCTION-GRAPHIFY-PLAN.md +0 -230
  559. package/docs/BOUNDED-REPAIR.md +0 -80
  560. package/docs/EDITOR-SESSION-EVIDENCE.md +0 -52
  561. package/docs/HANDOFF-AUTOMATION.md +0 -144
  562. package/docs/HUONG-DAN-MIGRATE-VA-SU-DUNG.md +0 -117
  563. package/docs/MIGRATION-MATRIX.md +0 -23
  564. package/docs/NCCGS-1.3.md +0 -13
  565. package/docs/NCCGS-1.4.1.md +0 -149
  566. package/docs/NCCGS-1.4.md +0 -184
  567. package/docs/NCCGS-1.5-IMPLEMENTATION-PLAN.md +0 -378
  568. package/docs/NCCGS-1.5-PILOT.md +0 -130
  569. package/docs/NCCGS-1.5.md +0 -237
  570. package/docs/PHASE-1-OPERATIONS.md +0 -278
  571. package/docs/PHASE-2-OPERATIONS.md +0 -183
  572. package/docs/PROJECT-POLICY.md +0 -94
  573. package/docs/RELEASE-STATUS.md +0 -150
  574. package/docs/TASK-SLICING.md +0 -57
  575. package/docs/UNINSTALL.md +0 -134
  576. package/docs/UPGRADE-QUALIFICATION.md +0 -45
  577. package/docs/WFK17-HOOK-REPAIR.md +0 -71
  578. package/docs/WORKFLOWS.md +0 -85
  579. package/package-assets/nccgs-project.gitignore +0 -2
  580. package/package-assets/setup-vivox-voice-chat-evals.gitignore +0 -7
  581. package/scaffold/.nccgs/autonomy.json +0 -4
  582. package/scaffold/.nccgs/bugs/.gitkeep +0 -1
  583. package/scaffold/.nccgs/closures/.gitkeep +0 -1
  584. package/scaffold/.nccgs/context/.gitkeep +0 -1
  585. package/scaffold/.nccgs/decisions/.gitkeep +0 -1
  586. package/scaffold/.nccgs/evidence/.gitkeep +0 -1
  587. package/scaffold/.nccgs/execution.json +0 -10
  588. package/scaffold/.nccgs/features/.gitkeep +0 -1
  589. package/scaffold/.nccgs/gates.json +0 -7
  590. package/scaffold/.nccgs/inputs.json +0 -6
  591. package/scaffold/.nccgs/migrations/.gitkeep +0 -1
  592. package/scaffold/.nccgs/playtests/.gitkeep +0 -1
  593. package/scaffold/.nccgs/project.yaml +0 -109
  594. package/scaffold/.nccgs/requirements.yaml +0 -10
  595. package/scaffold/.nccgs/reviews/.gitkeep +0 -1
  596. package/scaffold/.nccgs/state.md +0 -40
  597. package/scaffold/.nccgs/templates/agent-handoff.md +0 -37
  598. package/scaffold/.nccgs/templates/architecture-decision.md +0 -27
  599. package/scaffold/.nccgs/templates/closure-record.md +0 -62
  600. package/scaffold/.nccgs/templates/context-packet.yaml +0 -17
  601. package/scaffold/.nccgs/templates/design-contract.json +0 -34
  602. package/scaffold/.nccgs/templates/evidence-record.md +0 -23
  603. package/scaffold/.nccgs/templates/feature-contract.md +0 -60
  604. package/scaffold/.nccgs/templates/implementation-report.md +0 -52
  605. package/scaffold/.nccgs/templates/migration-plan.md +0 -40
  606. package/scaffold/.nccgs/templates/repair-packet.json +0 -14
  607. package/scaffold/.nccgs/templates/repair-unity-code.json +0 -18
  608. package/scaffold/.nccgs/templates/repair-unity-editor.json +0 -21
  609. package/scaffold/.nccgs/templates/task-slices.json +0 -28
  610. package/scaffold/.nccgs/templates/waiver.md +0 -11
  611. package/scripts/benchmark-snapshot.mjs +0 -205
  612. package/scripts/benchmark-v15.mjs +0 -173
  613. package/scripts/cli.mjs +0 -205
  614. package/scripts/doctor.mjs +0 -261
  615. package/scripts/install.mjs +0 -530
  616. package/scripts/recover-session.mjs +0 -89
  617. package/scripts/run.mjs +0 -86
  618. package/scripts/supervise.mjs +0 -152
  619. package/scripts/uninstall.mjs +0 -292
  620. package/scripts/validate.mjs +0 -285
  621. package/scripts/work-handoff.mjs +0 -38
  622. package/tests/autonomy.test.mjs +0 -126
  623. package/tests/benchmark-v15.test.mjs +0 -65
  624. package/tests/design-readiness.test.mjs +0 -200
  625. package/tests/editor-session-evidence.test.mjs +0 -45
  626. package/tests/evidence.test.mjs +0 -186
  627. package/tests/fixtures/compiler-shutdown.cs +0 -67
  628. package/tests/fixtures/native-provider.mjs +0 -61
  629. package/tests/framework.test.mjs +0 -740
  630. package/tests/gates.test.mjs +0 -479
  631. package/tests/hook-repair.test.mjs +0 -106
  632. package/tests/lifecycle-v15.test.mjs +0 -346
  633. package/tests/native-completion-notices.test.mjs +0 -181
  634. package/tests/orchestration-v15.test.mjs +0 -596
  635. package/tests/phase1.test.mjs +0 -427
  636. package/tests/phase2.test.mjs +0 -250
  637. package/tests/policy-v15.test.mjs +0 -234
  638. package/tests/ponytail-package.test.mjs +0 -75
  639. package/tests/returned-handoff-notices.test.mjs +0 -170
  640. package/tests/review-budget.test.mjs +0 -177
  641. package/tests/runtime-v15.test.mjs +0 -1198
  642. package/tests/session-budget.test.mjs +0 -34
  643. package/tests/task-slices.test.mjs +0 -285
  644. package/tests/uninstall.test.mjs +0 -477
  645. package/tests/unity-generated.test.mjs +0 -140
  646. package/tests/unity-transport.test.mjs +0 -348
  647. /package/{.claude/nccgs/packages → template}/ponytail/LICENSE +0 -0
  648. /package/{.claude/nccgs/packages → template}/ponytail/NOTICE.md +0 -0
  649. /package/{.claude/nccgs/packages → template}/ponytail/complexity-review.md +0 -0
  650. /package/{.claude/skills → unity-skills}/build-live-game/references/remote-config.md +0 -0
  651. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/README.md +0 -0
  652. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/codeless-catalog.md +0 -0
  653. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/convert-adapty.md +0 -0
  654. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/convert-essentialkit.md +0 -0
  655. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/convert-revenuecat.md +0 -0
  656. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/convert-unipay.md +0 -0
  657. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/migration-v4-to-v5.md +0 -0
  658. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/path-add-iap-to-new-project.md +0 -0
  659. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/path-convert-native-storekit.md +0 -0
  660. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/platform-notes.md +0 -0
  661. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/pre-check.md +0 -0
  662. /package/{.claude/skills → unity-skills}/localization/resources/LocalizedFontAsset.cs +0 -0
  663. /package/{.claude/skills → unity-skills}/optimize-audio/resources/platform-settings.md +0 -0
  664. /package/{.claude/skills → unity-skills}/optimize-web/resources/WebOptimizer.cs +0 -0
  665. /package/{.claude/skills → unity-skills}/optimize-web/resources/toktx-examples.sh +0 -0
  666. /package/{.claude/skills → unity-skills}/physics-3d-collision/resources/CollisionDebugger.cs +0 -0
  667. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/dgs-entrypoint.md +0 -0
  668. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/entrypoints.md +0 -0
  669. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/examples.md +0 -0
  670. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/implementation-fit.md +0 -0
  671. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/underlying-services.md +0 -0
  672. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/workflows-prerequisites.md +0 -0
  673. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/.env.example +0 -0
  674. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/README.md +0 -0
  675. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/promptfooconfig.yaml +0 -0
  676. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/tests/init-and-login.yaml +0 -0
  677. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/tests/text-chat.yaml +0 -0
  678. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/tests/voice-channels.yaml +0 -0
  679. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/events-and-participants.md +0 -0
  680. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/init-and-login.md +0 -0
  681. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/text-chat.md +0 -0
  682. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/troubleshooting.md +0 -0
  683. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/voice-channels.md +0 -0
  684. /package/{.claude/skills → unity-skills}/shader-graph-create-custom-node/resources/all_hints.hlsl +0 -0
  685. /package/{.claude/skills → unity-skills}/sprite-editor/references/api_reference.md +0 -0
  686. /package/{.claude/skills → unity-skills}/sprite-editor/references/background.md +0 -0
  687. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/AutomaticSliceTexture.cs +0 -0
  688. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/GenerateNewSpriteRects.cs +0 -0
  689. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/GetTextureSourceImageSize.cs +0 -0
  690. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/GetTextureToSlice.cs +0 -0
  691. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/GridSliceTexture.cs +0 -0
  692. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/IsometricSliceTexture.cs +0 -0
  693. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/README.md +0 -0
  694. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/SetPivotExample.cs +0 -0
  695. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/SpriteToPng.cs +0 -0
  696. /package/{.claude/skills → unity-skills}/ui-imgui/references/gui-elements.md +0 -0
  697. /package/{.claude/skills → unity-skills}/ui-imgui/references/templates.md +0 -0
  698. /package/{.claude/skills → unity-skills}/ui-ugui/references/scrollview-setup.md +0 -0
  699. /package/{.claude/skills → unity-skills}/ui-uitk/references/common-issues.md +0 -0
  700. /package/{.claude/skills → unity-skills}/ui-uitk/references/painter2d.md +0 -0
  701. /package/{.claude/skills → unity-skills}/ui-uitk/references/pointermanipulator-guide.md +0 -0
  702. /package/{.claude/skills → unity-skills}/ui-uitk/references/svg-icons.md +0 -0
  703. /package/{.claude/skills → unity-skills}/ui-uitk/references/ui-runtime-binding.md +0 -0
  704. /package/{.claude/skills → unity-skills}/ui-uitk/references/uss-guide.md +0 -0
  705. /package/{.claude/skills → unity-skills}/urp-postprocessing/references/effect-reference.md +0 -0
@@ -0,0 +1,386 @@
1
+ ---
2
+ name: new-unity-project
3
+ description: Guides creating a new Unity project, gathering concept, platforms, and monetization before setting up the project, source control, and packages. Use when the user asks to start a new game or prototype. Runs an opinionated paved path by default; full interview on request.
4
+ allowed-tools:
5
+ - Bash
6
+ - Write
7
+ - Edit
8
+ ---
9
+
10
+ # New Unity Project
11
+
12
+ A flow from an idea to a running, version-controlled Unity project. This skill owns the **flow** —
13
+ mode, defaults, ordering, background installs, handoffs.
14
+
15
+ **Delegates to (read these for the actual commands — don't reinvent them):**
16
+ - **`unity-cli`** — install, auth/license, Editor install, creation, source control, open. Its
17
+ "Bootstrap a new project from scratch" workflow is the backbone here.
18
+ - **`unity-package-management`** — packages with the Pipeline `package` commands (C# script fallback).
19
+ - **`urp-postprocessing`**, **`ui`**, **`2d-pixel-perfect`** — visual-baseline mechanics (Step 7).
20
+ - **`craft-game-floors`** — the craft floors (look, feel, audio, shell, live floor, the done gate),
21
+ loaded at Step 6 and carried through the build.
22
+ - **`implement-in-app-purchases`**, **`levelplay-unity-integration`**, **`build-live-game`** —
23
+ monetization / backend *integration* (invoked at the end).
24
+
25
+ ## Mode: paved by default, guided on request
26
+
27
+ Run **paved** unless the user asks for the interview — in words ("ask me questions", "guide me")
28
+ or by pushing back on the manifest; mode is decided once per session. The paved contract:
29
+ **parse the prompt first** · **fill gaps from the Defaults table** · **print the manifest** before
30
+ the create launches · **proceed**, asking only on pushback or an unruled fork ·
31
+ **never consume a human gate** — sign-in, license activation and publishing each need the user's
32
+ yes, asked as a question you wait on (see Sign-in and license). A **bare/minimal** ask gets
33
+ `--bare`, skips the floors, and states the cost (identity, saves, ranks unwired). Bare runs Steps
34
+ 1–4, installs only the packages the user named in Step 5, skips Steps 6 and 7, then commits (Step 8)
35
+ and hands off monetization (Step 9) without the forward baton.
36
+
37
+ In **guided** mode, ask only the current step's questions and wait. The paved additions (identity,
38
+ floors, baton) are asked at their steps there, never assumed.
39
+
40
+ ## Sign-in and license (before your first question)
41
+
42
+ Run `unity auth status --format json` and `unity license status --format json` first. If either
43
+ shows the user signed out or without an active license, ask **one** question that covers both,
44
+ with your client's multiple-choice question tool (plain text only without one), and wait for the
45
+ answer. Send it together with the delegated-skills offer (below) and any Step 1 question, so the
46
+ user answers once. Offer the free
47
+ **Unity Personal** license as the default choice, with the other license types (a subscription the
48
+ account already has, a serial, a floating server) as alternatives. The Personal choice itself says
49
+ that picking it accepts the Unity Personal EULA
50
+ (https://unity.com/legal/editor-terms-of-service/software), so the user sees it before answering.
51
+
52
+ - Never tell the user to sign in or activate a license themselves, and never hand them commands to
53
+ run. You run them, after they say yes.
54
+ - On yes, sign in only where the choice needs an account: Personal and an existing subscription
55
+ activate the signed-in user's licenses, and a cloud-linked project needs one too. Run
56
+ `unity auth login` then (it opens the browser; the user only completes the sign-in page, so tell
57
+ them that page is coming), in the background or with its output unfiltered, and pass on the
58
+ sign-in link it prints in case the browser doesn't open: a pipe through `tail` holds the link
59
+ back until sign-in ends. Then `unity license activate --personal --accept-eula` for Personal.
60
+ Serial and floating activation need no account: `unity license activate --floating`, or the
61
+ serial through `UNITY_LICENSE_SERIAL` and a bare `unity license activate`, so it stays off argv.
62
+ - Declining stops the run before the create only when nothing can license the Editor. A user who
63
+ declines sign-in but has, or activates, a serial or floating license still gets a local project:
64
+ create with `--no-cloud` and say the cloud link and player accounts are off.
65
+
66
+ ## The Defaults table
67
+
68
+ Every row reverses on a word; change a row only with a run-earned receipt.
69
+
70
+ | Decision | Paved opinion |
71
+ |---|---|
72
+ | Editor version | `--editor-version latest`, explicit |
73
+ | Template | URP; 3D unless the prompt says 2D (`--template 3d` or `2d`) |
74
+ | Platforms | Desktop only; add modules when the prompt implies them ("mobile game" → ios/android) |
75
+ | Monetization | None at creation; noted for later |
76
+ | Version control | Local git + Unity .gitignore |
77
+ | Player identity | Anonymous accounts — create's when its result shows them, else wired in Step 6 |
78
+ | Craft floors | Always on, via the `craft-game-floors` skill: look, camera, lighting, feedback, audio, shell, live floor, done gate |
79
+
80
+ Cloud link and diagnostics are **not** a row: create applies its own defaults — narrate them from
81
+ the result, don't re-decide.
82
+
83
+ ## The assumptions manifest
84
+
85
+ Print exactly one block at the end of Step 2, before the create launches. It **predicts** what
86
+ create will do (the URP template per `--template 3d|2d`, never a guessed id):
87
+
88
+ > **Paved assumptions:** Unity <editor> · <URP template, 2D/3D> · <platforms> · <monetization> ·
89
+ > anonymous player accounts (create's, else one bootstrap script) · <version control> ·
90
+ > cloud-linked with diagnostics (create's defaults, narrated from the result) · floor packages
91
+ > (Cinemachine; identity + live services when cloud-linked) · craft floors on via `craft-game-floors` ·
92
+ > a one-line handoff note for the project's CLAUDE.md, written only on your yes.
93
+ > Say the word to change any of these; otherwise I'm proceeding.
94
+
95
+ One block, every assumption present, each reversible, nothing implied; Step 3 reconciles the
96
+ result against it.
97
+
98
+ ## Before Step 1: check the delegated skills are loaded
99
+
100
+ Look for `unity-cli`, `unity-package-management`, `urp-postprocessing`, `ui`, `build-live-game`
101
+ and `craft-game-floors` in your client's skills. If any is missing, say which and what it does, and offer the install routes
102
+ in [references/skill-setup.md](references/skill-setup.md), in the same question as sign-in and
103
+ license when that one goes out — never install without a yes. Don't
104
+ stall: a decline gets the fallback at its step, gap named in the report. `unity skill show` prints
105
+ `unity-cli` without installing; without `unity-package-management`, Step 5 can't run — say so
106
+ before Step 2.
107
+
108
+ ## The flow — and where the parallelism is
109
+
110
+ 1. **Concept** (paved: parsed from the prompt). 2. **Platforms & monetization** — print the
111
+ manifest (paved), then **start the create in the background**: `projects create --install-editor`
112
+ installs the Editor + modules (minutes), then creates the project; keep talking meanwhile.
113
+ 3. **(joins)** reconcile the result against the manifest. 4. **Source control.** 5. **Packages.**
114
+ 6. **Player identity, then the craft floors** — confirm create's identity or wire it; load
115
+ `craft-game-floors`. 7. **Visual baseline** on the craft skill's art bible. 8. **Save & first commit.**
116
+ 9. **Hand off** + the forward baton.
117
+
118
+ The multi-minute Editor install overlaps the user's answers, so setup feels instant.
119
+
120
+ ## Step 1 — Concept
121
+
122
+ **Paved:** the prompt is the spec — parse genre, dimension (2D/3D), look, scope, and name into a
123
+ 2–4 line brief; fill gaps from the Defaults table; no read-back.
124
+
125
+ **Guided:** ask with your client's multiple-choice tool (`AskUserQuestion` in Claude Code,
126
+ `ask_user` in Copilot CLI, `askQuestions` in VS Code); without one, plain text.
127
+ Cover **genre / core loop** · **dimension & look** (2D or 3D; pixel, low-poly, stylized,
128
+ realistic) · **gameplay** (the one-sentence "what the player does moment to moment") · **scope**
129
+ (prototype vs. multi-scene; single- or multiplayer). Settle a **project name**, write the brief,
130
+ read it back. The brief drives the template (Step 2), packages (Step 5) and the baseline (Step 7):
131
+ note the palette / mood words and pixel-art looks.
132
+
133
+ ## Step 2 — Platforms & monetization, then start installing
134
+
135
+ Two decisions (paved: filled from the Defaults table, then **print the manifest**):
136
+
137
+ - **Target platforms**: Desktop, Mobile (iOS/Android), WebGL, Console — they map to Editor
138
+ **modules** (`--module`) and argue for leaner packages on mobile/WebGL.
139
+ - **Monetization**: none / premium / IAP / ads / mix — this only decides the Step 9 handoff.
140
+
141
+ Default to an explicit `--editor-version latest` unless the user names a version — without the
142
+ flag, create prefers a stored default or an older installed Editor.
143
+
144
+ Confirm prerequisites, then **start the create as a background task** (`unity-cli` has module
145
+ names and auth / license setup):
146
+
147
+ ```bash
148
+ unity --version # sign-in and license: settled before your first question (see above)
149
+
150
+ # Start in the BACKGROUND. Module names per platform are in the unity-cli skill.
151
+ # --bare only on the user's ask (see Mode).
152
+ unity projects create "<Name>" --path <dir> --editor-version latest \
153
+ --template <3d|2d> --install-editor --module <platform-modules> --accept-eula --format json
154
+ ```
155
+
156
+ The command waits for the install, then creates the project, so its one result covers both. If you
157
+ have nothing left to ask, it's fine to just wait.
158
+
159
+ **Template:** `--template 3d` / `2d` resolve to the version's URP templates
160
+ (`com.unity.template.urp-blank`, `com.unity.template.universal-2d`), the default for every game.
161
+ Built-in templates (`com.unity.template.3d`/`.2d` as full ids) are deprecated from 6.5, removed in
162
+ 6.7 — pass one only when the user explicitly asks for Built-in.
163
+
164
+ ## Step 3 — Join: project ready, result reconciled
165
+
166
+ Wait for the background create and read its JSON result: `data.path` is the project,
167
+ `data.version` the Editor, `data.editorInstalled` whether this run installed it.
168
+
169
+ **Paved: reconcile the result against the manifest**, narrating divergence — the cloud-link
170
+ soft-fail included (`cloudLinked: false`, warnings, project intact; Step 6 keys off it). A 403 on
171
+ the link is often the saved default org refusing new projects — retry
172
+ `unity projects link cloud <path> --cloud-org <an org the user owns>` before concluding
173
+ no-identity. A result carrying a `steps` field reconciles step-by-step from it.
174
+
175
+ `--module` only applies when the run installs the Editor: on `data.editorInstalled: false`, add
176
+ the platform modules with `unity install-modules -e <version> -m <platform-modules> --accept-eula`
177
+ (skips what's already there). If create failed, surface the error (`unity-cli` troubleshooting)
178
+ and stop — a failed install creates no project, and nothing downstream works without an Editor.
179
+
180
+ ## Step 4 — Source control
181
+
182
+ **Paved:** local git + Unity `.gitignore`. **Guided:** ask — Git (GitHub / GitLab; `--git-lfs` for
183
+ asset-heavy games), **Unity Version Control** (`--vcs uvcs` — large binaries natively, no LFS), or
184
+ purely local. Attach with `unity projects link vcs "<project-path>" --vcs …
185
+ --git-token-from-stdin --no-initial-commit` (tokens on stdin) — **`--no-initial-commit`** keeps
186
+ the CLI from committing the bare project before packages and `.meta` files exist; the real first
187
+ commit is Step 8. Exact flags: the `unity-cli` workflow.
188
+
189
+ ## Step 5 — Packages
190
+
191
+ Map the brief to a package list and install via **`unity-package-management`** (**never**
192
+ hand-edit `manifest.json`): `package add` once the Editor is open with `com.unity.pipeline`
193
+ (Step 7); its C# installer script when packages must land pre-open (the `-quit` gotcha applies).
194
+ That skill has the genre/platform/monetization → package mapping. A `--bare` run installs only the
195
+ packages the user named, through the C# installer script (bare has no `com.unity.pipeline`, so
196
+ `package add` can't run; never `unity pipeline install` to get it, which undoes the bare ask), and
197
+ stops there. Otherwise paved
198
+ adds the floors' needs: Cinemachine for any gameplay camera (2D rigs included);
199
+ `com.unity.services.authentication` when Step 6 wires identity; and the live floor's services set
200
+ on cloud-linked projects — in this pass, not at shell time. Cloud save and remote config come from
201
+ create: when its `steps` report `cloudSave` and `remoteConfig` as `done` or `present`, skip them and
202
+ add only what is left (leaderboards). The template already provides the
203
+ render pipeline — never add `com.unity.render-pipelines.universal` on a Built-in template
204
+ (materials go pink) or vice versa. Read the list back before installing (paved: print it now);
205
+ verify `manifest.json` after.
206
+
207
+ ## Step 6 — Player identity, then the craft floors
208
+
209
+ **Identity — the create result is the switch** (a `--bare` run skips this whole step: bare
210
+ projects still cloud-link unless `--no-cloud`, and the unwired cost was stated at Mode time):
211
+ identity addressed in the result → confirm it in the reconciliation and **skip**, never wire auth
212
+ twice. No identity and the project cloud-linked →
213
+ wire it: services init plus anonymous sign-in kicked off at bootstrap in **one small bootstrap
214
+ script**, never blocked on (mechanics: **`build-live-game`**, auth section — checked in Before
215
+ Step 1; missing and declined → skip the wiring, gap named); each service dependency is a named
216
+ plan line, declining removes only that line. Cloud link failed or skipped →
217
+ skip with the cost stated (saves and ranks stay local) — never wire services init against a
218
+ project with no cloud id. Invisible to players, upgradeable later — the root the live floor
219
+ builds on.
220
+
221
+ **A `--bare` run skips the floors too** (the Mode section's stated cost). Otherwise **load the
222
+ `craft-game-floors` skill** (checked in Before Step 1) and follow its floors through the
223
+ build — art bible first, then camera, lighting, feedback, audio, shell, live floor, its done gate.
224
+ Its values supersede the inline fallbacks below whenever present, version skew included. Missing
225
+ and declined → fallbacks, gap named in the report.
226
+
227
+ ## Step 7 — Visual baseline
228
+
229
+ A fresh template renders correctly but looks like a default; left there, agents reach for `OnGUI`
230
+ and guess shader names. Apply this floor **before** any gameplay work. A `--bare` run skips this
231
+ whole step (no Pipeline install, no baseline): go to Step 8, which opens the project.
232
+
233
+ **On Unity 6000.5.0 to 6000.5.2, stop here.** The Pipeline package can't start its server on those
234
+ Editors (create reports `PIPELINE_EDITOR_UNSUPPORTED`), so nothing below can connect, and reopening
235
+ won't help. Create also left the package out on those Editors. Ask the user to update to
236
+ 6000.5.3f1 or later, then continue below with the project still closed: the Pipeline install comes
237
+ first, then the open names the updated Editor, `unity open "<project-path>" --editor-version
238
+ <updated-version>` — a plain `unity open` reopens with the project's saved 6000.5.x Editor. If the
239
+ update is 6000.7 or later, `unity open` refuses that move (`PROJECT_UPGRADE_REQUIRED`): run
240
+ `unity projects upgrade "<project-path>" --to <updated-version> --yes` instead. It asks
241
+ nothing: add `--no-cloud` when the user declined the cloud link at create, since an unlinked
242
+ project otherwise exits `CLOUD_CHOICE_REQUIRED`, and no cloud flag when create linked it.
243
+
244
+ **First, `unity pipeline install --project-path "<project-path>"`, before opening the
245
+ Editor.** Running C# in the Editor and `unity command capture screenshot` below both need the
246
+ project's `com.unity.pipeline` package. Create adds it by default on newer CLIs (this install then
247
+ changes nothing); older CLIs leave the project without it, and Step 5's `-batchmode` installer
248
+ never touches it. Install-before-open is the supported order; without the package, everything below fails to
249
+ connect (it mimics `unity-cli`'s Safe Mode failure). The failure codes
250
+ (`PIPELINE_MANIFEST_WRITE_FAILED`, a stuck `STATUS_PIPELINE_LOAD_PENDING`) and the stuck-Editor
251
+ recovery are tabled in [references/skill-setup.md](references/skill-setup.md).
252
+
253
+ **Then** `unity open "<project-path>"`, wait until `unity status` reports the Editor ready, and
254
+ apply each item below by running C# in it — **`unity-cli` owns those commands**; don't re-derive
255
+ them here.
256
+
257
+ Once the Editor is ready, read the `unity-pipeline` guide if your skills don't list it —
258
+ locations and mirroring routes: [references/skill-setup.md](references/skill-setup.md).
259
+
260
+ **Items 1, 2, 5 and 6 assume a URP template**, the Step 2 default. If the user explicitly chose
261
+ Built-in, don't run them as written — `UniversalAdditionalCameraData`, `Light2D`, the
262
+ `urp-postprocessing` volume framework and `Universal Render Pipeline/*` shaders don't exist there;
263
+ post-processing means the legacy Post Processing Stack, the shader names are `Standard` /
264
+ `Unlit/Color`, and items 3–4 apply as written. Don't reach for `migrate-birp-to-urp` — the user
265
+ asked for Built-in.
266
+
267
+ 1. **Post-processing.** Global Volume — `craft-game-floors`'s scene-lighting values when loaded (they
268
+ supersede these); fallback: Tonemapping (ACES), Bloom intensity 0.5–1 @ threshold 0.9, Vignette
269
+ ≈ 0.25; set `renderPostProcessing = true` on the main camera's `UniversalAdditionalCameraData`.
270
+ **REQUIRED SUB-SKILL:** `urp-postprocessing` — its templates create the volume and check HDR and
271
+ the layer mask; if it isn't loaded, do both yourself from these values.
272
+ 2. **Camera and light.** 2D → orthographic, solid background from the brief's palette, a `Light2D`
273
+ of type Global if the template scene has none (Sprite-Lit shaders render black without one).
274
+ 3D → perspective, main-light shadows on; `craft-game-floors`'s lighting pass replaces the template's
275
+ default light story when loaded, else keep the template's directional light and skybox.
276
+ 3. **Quality tier.** Read `QualitySettings.names` first — tier names differ per template — then
277
+ `QualitySettings.SetQualityLevel` to the one matching the primary target: the highest tier for
278
+ desktop, the lowest for mobile/WebGL. Leave color space Linear and the Input System as the
279
+ template set them.
280
+ 4. **UI stack.** HUD and menus use a uGUI Canvas + TextMeshPro or UI Toolkit — **never `OnGUI`**.
281
+ **REQUIRED SUB-SKILL:** `ui` picks between them for the project. If it isn't loaded, choose
282
+ between them from the brief and say which you chose, and why, in your final report.
283
+ 5. **Materials and shaders.** Under URP use `Universal Render Pipeline/Lit`, `…/Unlit`,
284
+ `…/2D/Sprite-Lit-Default` or `…/2D/Sprite-Unlit-Default`. `Standard` and `Unlit/Color` render
285
+ pink or washed out under URP. Prefer `GraphicsSettings.currentRenderPipeline.defaultMaterial`
286
+ / `.default2DMaterial` over `Shader.Find`, and treat a `null` from `Shader.Find` as an error.
287
+ `currentRenderPipeline`, not `defaultRenderPipeline`: a quality tier can carry its own pipeline
288
+ asset, and item 3 above just set the tier.
289
+ 6. **Pixel art only.** Point filter mode on sprites and a Pixel Perfect Camera — see
290
+ `2d-pixel-perfect`. If missing, do both yourself and note the skill-setup install route in the
291
+ report.
292
+
293
+ Save the scene, then confirm both of these — **not with `unity logs`**, which reads the CLI's own
294
+ log and reports clean whatever the scene looks like:
295
+
296
+ - No render-pipeline or shader errors Editor-side. Read the Editor console through `unity-cli`,
297
+ or read `Editor.log` directly — that skill's "Recovering from Safe Mode" section has the
298
+ per-platform paths.
299
+ - `unity command capture screenshot --output baseline.png` looks lit and tonemapped rather than flat
300
+ gray.
301
+
302
+ ## Step 8 — Save & first commit
303
+
304
+ The project is already open from Step 7, so `.meta` files exist (`unity open "<project-path>"`
305
+ only if not — headless/CI uses the "Import & save headlessly" method in
306
+ `unity-package-management`). Commit **with whichever VCS you set up in Step 4**:
307
+
308
+ - **Git (GitHub / GitLab / local):**
309
+ ```bash
310
+ cd "<project-path>"
311
+ git add -A
312
+ git status # Library/ Temp/ obj/ Build/ must NOT be staged
313
+ git commit -m "Initial Unity project: <Name>"
314
+ ```
315
+ Every `.cs`/asset is committed together with its `.meta`.
316
+ - **Unity Version Control (UVCS):** check in through the workspace from Step 4 — no `git` step;
317
+ generated folders stay excluded by the ignore rules.
318
+
319
+ If Step 7 mirrored skills into the project, ask whether to include them. If Step 4 linked
320
+ **without** `--no-initial-commit`, the CLI already committed the bare project — add a follow-up
321
+ commit rather than double-committing.
322
+
323
+ ## Step 9 — Hand off
324
+
325
+ Based on Step 2 monetization, invoke the matching skill for the actual integration:
326
+ - IAP → **implement-in-app-purchases**
327
+ - Ads → **levelplay-unity-integration**
328
+ - Accounts / cloud save / economy / remote config / leaderboards → **build-live-game**
329
+
330
+ If the matching skill isn't loaded, point the next steps at the skill-setup install route rather
331
+ than integrating from memory.
332
+
333
+ **Offer the forward baton** (declared on the manifest; not on a `--bare` run): one idempotent line
334
+ for the project's `CLAUDE.md` or `AGENTS.md` — "When building gameplay, feel, audio, shell, or live
335
+ features, load the `craft-game-floors` skill; if it isn't installed, ask the user whether to run
336
+ `unity skill install <client>` (ask: never run it without a yes)." That file steers every later
337
+ agent session in the project, so **ask before writing it**, even in paved mode, and show the line.
338
+ On a yes, append it and commit the note — appended after Step 8, it otherwise never reaches clones.
339
+ On a no, put the line in the report for the user to add. Later sessions reach the floors through
340
+ it without this skill re-triggering.
341
+
342
+ Report the project path, Editor version, pipeline and template, packages, the manifest with its
343
+ reconciliation, identity state, the baseline applied, any missing skill, `craft-game-floors`'s done gate
344
+ as the build's finish line, and next steps.
345
+
346
+ ## Scope — what this skill does NOT do
347
+
348
+ - **No gameplay scaffolding.** A running, wired project with a visual floor; the game is the next
349
+ conversation (with `craft-game-floors`). One exception: Step 6's single bootstrap script.
350
+ - **No command reference.** Syntax lives in `unity-cli` / `unity-package-management`.
351
+ - **No re-deciding create's defaults** — narrate them from the result. The Defaults table is this
352
+ file's only opinions; the guided interview survives untouched.
353
+
354
+ ## Checklist
355
+
356
+ - [ ] Delegated skills checked before Step 1 (incl. `craft-game-floors`): a missing one offered, or named
357
+ in the report
358
+ - [ ] Mode decided once; in paved, the manifest printed before the create launches
359
+ - [ ] Brief captured; platforms + monetization recorded
360
+ - [ ] Background create with `--install-editor` + modules, URP template (`--template 3d`/`2d`)
361
+ unless Built-in was requested; `--bare` only on the user's ask; result reconciled
362
+ - [ ] Source control attached (Step 4), or local git + Unity `.gitignore`
363
+ - [ ] Packages via `package add` (or the C# script pre-open); `manifest.json` verified; no
364
+ render-pipeline package atop the template
365
+ - [ ] Identity confirmed from the result or wired in Step 6 (stated cost on a failed link)
366
+ - [ ] `craft-game-floors` loaded (or its absence named); `unity-pipeline` read once the Editor was ready
367
+ - [ ] Baseline applied: Volume + camera post on, quality tier, UI stack (no `OnGUI`), URP shaders,
368
+ capture checked (skipped on `--bare`; on 6000.5.0–6000.5.2, Editor updated first)
369
+ - [ ] `.meta` files exist; first commit made; `Library/` excluded
370
+ - [ ] Forward baton offered and written only on a yes (none on `--bare`); handoff done if applicable
371
+
372
+ ## Common mistakes
373
+
374
+ - **Blocking on the create** instead of backgrounding it: with `--install-editor` it waits for the
375
+ whole Editor install.
376
+ - **Acting before the manifest prints** (paved), or burying an assumption outside it — if it isn't
377
+ in the manifest, it isn't assumed.
378
+ - **Wiring auth twice** — if create's result shows identity, Step 6's wiring is a skip.
379
+ - **Hand-editing `manifest.json`** instead of the package commands or the skill's script.
380
+ - **Doing a required sub-skill's job from memory** when it isn't loaded, without telling the user
381
+ or offering the install.
382
+ - **Committing `Library/`/`Temp/`/`obj/`/`Build/`**, or scripts without their `.meta` files.
383
+ - **Missing Editor modules** — a mobile target needs `android`/`ios`; WebGL needs `webgl`.
384
+ - **Picking `com.unity.template.2d` / `.3d` by name** — Built-in templates; use `--template 3d`/`2d`.
385
+ - **Skipping the visual baseline** — flat template defaults, `OnGUI` HUDs, and
386
+ `Shader.Find("Standard")` under URP.
@@ -0,0 +1,66 @@
1
+ # Skill setup — getting the delegated skills loaded
2
+
3
+ > Reference for the `new-unity-project` skill: the install routes for its delegated skills, and the
4
+ > `unity-pipeline` guide's location inside the Pipeline package. The body's "Before Step 1" check says
5
+ > *when* to use this; this file says *how*.
6
+
7
+ ## Install routes, by client
8
+
9
+ If a delegated skill is missing, tell the user which one and what it does for them. Offer to install
10
+ the Unity skills before you start, and don't install without a yes, because it changes their agent
11
+ setup:
12
+
13
+ - **Claude Code, with none of the Unity skills installed:** `unity setup claude --format json`
14
+ installs the Unity plugin, which carries all of them. It would duplicate any you already have. An
15
+ older CLI doesn't know `unity setup`, so use the next route then. A fresh install loads in the next
16
+ session, or after `/reload-plugins`. Until then, read the skills from the `skillsPath` it reports.
17
+ - **Any other case, including a partial set:** run `unity skill install <client>`, where
18
+ `unity skill install --list` names the clients and where each one installs. It installs the Unity
19
+ skills from the Unity-Technologies/skills repository at the commit this CLI pins, and checks each
20
+ one against that pin before it writes anything. To add only the missing skills, name each with
21
+ `--skill`, which repeats and takes a comma list (`--skill ui,localization`). The source is fixed in
22
+ the CLI, so don't look for a flag to point it elsewhere. Offline, it installs only the two skills
23
+ built into the CLI (`unity-cli` and `new-unity-project`), names the ones it couldn't install, and
24
+ exits 0: run it again once the machine is online.
25
+ - **Codex, Grok Build or GitHub Copilot CLI whose plugin can't be installed:** `unity setup <agent>`
26
+ offers the same repo skills instead when the agent's CLI is missing or its plugin install fails.
27
+ With the user's yes, `unity setup <agent> --yes --format json` installs them without a prompt and
28
+ reports `installedVia: "skills"`, the `skillsPath` and the `skillsToLoad` it installed. The same
29
+ works for `unity setup claude`.
30
+ - **An older CLI** installs only `unity-cli` and `new-unity-project`. There, tell the user to copy
31
+ each missing skill's folder from github.com/Unity-Technologies/skills (under `skills`) into their
32
+ client's skills folder.
33
+
34
+ A newly installed skill may not load until the client restarts. If it still isn't listed, ask where
35
+ the installer put it and read the skill file from there.
36
+
37
+ ## The `unity-pipeline` guide (read it once the Editor is ready)
38
+
39
+ It is the Pipeline package's own guide, and no client loads it from the package folder. If it is
40
+ missing from your skills, read its skill file directly. It sits under
41
+ `.claude/skills/unity-pipeline/` in the package: `Packages/com.unity.pipeline/` if the project embeds
42
+ the package, otherwise the `Library/PackageCache/com.unity.pipeline@*` folder. List
43
+ `Library/PackageCache` for the exact name, since the suffix is often a hash, not the version.
44
+
45
+ To have your client load it in later sessions, `unity skill install <client> --local` can mirror it,
46
+ but only for a client with a project scope (`unity skill install --list` shows which, and Claude
47
+ Desktop has none). It also writes a project copy of `unity-cli` beside it. The `unity-cli` skill
48
+ suggests running it once, but here, wait until the user asks, and run it from the project folder
49
+ after the open. In Claude Code with the Unity plugin installed it stops short, because the plugin
50
+ already carries `unity-cli`. There, with the user's yes, copy the `unity-pipeline` folder into the
51
+ project's `.claude/skills/` instead. Where no mirror is possible, read the package copy again in each
52
+ session.
53
+
54
+ ## Pipeline failure codes and the stuck-Editor recovery
55
+
56
+ | Symptom | Cause | Resolution |
57
+ |---|---|---|
58
+ | `PIPELINE_MANIFEST_WRITE_FAILED` on `unity pipeline install` | the project is open in an Editor | ask the user to close the Editor, re-run the install |
59
+ | `STATUS_PIPELINE_LOAD_PENDING` right after an install against an open project | the open Editor loads the package when its window regains focus | ask the user to switch to the Editor window |
60
+ | `STATUS_PIPELINE_LOAD_PENDING` that never clears after an open | the Pipeline server can run while its port file never lands (package/editor pairing issues) — focus is not the cause | read `Logs/Editor.log` for `Pipeline:` lines to confirm, then recover below |
61
+ | Pipeline never connects on Unity 6000.5.0 to 6000.5.2 (create reported `PIPELINE_EDITOR_UNSUPPORTED`) | the package can't start its server on those Editors | don't recover below, reopening won't help: ask the user to update to 6000.5.3f1 or later, run `unity pipeline install` with the project closed (create left the package out), then open it with `unity open "<project-path>" --editor-version <updated-version>` (a plain `unity open` uses the saved 6000.5.x Editor); on 6000.7 or later `unity open` refuses the move, so run `unity projects upgrade "<project-path>" --to <updated-version> --yes`, adding `--no-cloud` when the user declined the cloud link at create |
62
+
63
+ **Stuck-Editor recovery** (check the project's Editor version first; never on 6000.5.0 to
64
+ 6000.5.2, see the table): ask the user first — unsaved work is lost — then
65
+ `unity close <project> --force`, which terminates by PID and works without Pipeline connectivity,
66
+ and reopen the project.
@@ -0,0 +1,16 @@
1
+ # Security notes: optimize-audio
2
+
3
+ This skill has the agent run C# inside the user's open Unity Editor through `unity command script eval`. Automated skill scanners flag that as a powerful capability. It is intentional, and it is limited by the safeguards below.
4
+
5
+ ## Accepted risks
6
+
7
+ | Risk | Capability | Why it is accepted |
8
+ |---|---|---|
9
+ | `SEC_POWER_CAP` | Runs C# in the user's open Editor through `unity command script eval` | It only reaches the Editor the user already has open, on their own machine, as that user, so it grants nothing they couldn't do themselves. `script eval` sits behind the Pipeline capability gate. No code fetched from a remote source is run. Where a named `unity command` covers a step, the skill uses that instead of `script eval`. |
10
+
11
+ ## Mitigations
12
+
13
+ - **Only the user's own Editor.** `unity command script eval` talks to the Editor open on this machine. It can't reach another machine or another user's Editor.
14
+ - **Capability gate.** `script eval` is only available when the project's Pipeline package provides it.
15
+ - **No remote code.** The agent runs C# it writes from this skill's own recipes. Nothing downloaded from outside is executed.
16
+ - **Named commands first.** When a dedicated `unity command` covers a step, the skill uses it instead of `script eval`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: optimize-audio
3
- description: Optimizes Unity 6 audio memory, CPU cost, and playback quality through correct import settings and mixer configuration. Use when the user wants to reduce audio memory usage, choose the right Load Type for short clips versus music versus ambient beds, configure platform-appropriate sample rates and codecs, force 3D audio to mono, or reduce AudioMixer CPU cost from deep group trees or effects running on silent paths.
3
+ description: Optimizes audio memory, CPU cost, and playback quality through import settings and mixer configuration. Use when asked to reduce audio memory or Audio Mixer CPU cost, change clip Load Types, sample rates or codecs, or force 3D audio to mono.
4
4
  ---
5
5
  ## Critical Rules
6
6
 
@@ -19,20 +19,20 @@ and discovering the Editor's command catalog. Follow it first; don't re-derive a
19
19
 
20
20
  Two things it can't know for you:
21
21
 
22
- - **You need `eval` in particular**, not just a reachable Editor. Confirm it appears in the
22
+ - **You need `script eval` in particular**, not just a reachable Editor. Confirm it appears in the
23
23
  catalog. Its presence depends on the Pipeline package version, not on the CLI, so a healthy
24
24
  install can still lack it — if it's missing, say so and stop.
25
25
  - **Do not hand-edit `.meta` files to change import settings.** Importer values only take effect
26
26
  through `SaveAndReimport()` in a live Editor, so an unreachable Editor is a stop, not a cue to
27
27
  edit metadata directly.
28
28
 
29
- Run C# with `unity command eval --code '<snippet>'`. Discover the parameter shape from
29
+ Run C# with `unity command script eval --code '<snippet>'`. Discover the parameter shape from
30
30
  `unity command --format json` rather than assuming one. `unity command` defaults to a 30 second
31
31
  timeout.
32
32
 
33
- ### Passing C# to `eval`
33
+ ### Passing C# to `script eval`
34
34
 
35
- `eval` compiles a **statement block, not a file**. Two consequences, both of which cause a compile
35
+ `script eval` compiles a **statement block, not a file**. Two consequences, both of which cause a compile
36
36
  error rather than a warning:
37
37
 
38
38
  - **No `using` directives.** The compiler reads `using UnityEngine;` as a resource-disposal
@@ -41,13 +41,13 @@ error rather than a warning:
41
41
  (`CS0246` / `CS0103`), and a bare `Object` is ambiguous with `object` (`CS0104`).
42
42
 
43
43
  The recipes in [resources/audio-import-api.md](resources/audio-import-api.md) are written
44
- fully qualified so they can be passed to `eval` as-is.
44
+ fully qualified so they can be passed to `script eval` as-is.
45
45
 
46
46
  ## 1. Pre-Flight: Detect Audio System
47
47
 
48
48
  Before doing anything else, establish the audio environment:
49
49
 
50
- 1. **Detect platform and sample rate:** Use `eval` to read `EditorUserBuildSettings.activeBuildTarget` and `AudioSettings.outputSampleRate`. The output sample rate affects whether overriding clip sample rates will actually save memory.
50
+ 1. **Detect platform and sample rate:** Use `script eval` to read `EditorUserBuildSettings.activeBuildTarget` and `AudioSettings.outputSampleRate`. The output sample rate affects whether overriding clip sample rates will actually save memory.
51
51
  2. **Detect AudioMixer presence:** Use the mixer-asset query recipe in [resources/audio-import-api.md](resources/audio-import-api.md) to see if a mixer graph exists. If none exists, note that routing and effect costs are not a concern.
52
52
  3. **Detect AudioListener:** Use the scene-component query recipe in [resources/audio-import-api.md](resources/audio-import-api.md) for `UnityEngine.AudioListener` to confirm exactly one listener is present. Multiple listeners produce incorrect spatialization; zero listeners produce silence.
53
53
  4. **Proceed** only after platform and listener state are confirmed.
@@ -56,8 +56,8 @@ Before doing anything else, establish the audio environment:
56
56
 
57
57
  Before recommending any change, gather observable data:
58
58
 
59
- 1. **Find all AudioSources:** Use the scene-component query recipe in [resources/audio-import-api.md](resources/audio-import-api.md) for `UnityEngine.AudioSource`. For each result, use **one** `eval` call to batch-read properties — see the batch read recipe in [resources/audio-import-api.md](resources/audio-import-api.md).
60
- 2. **Inspect mixer topology:** If a mixer was found in Pre-Flight, use `eval` to read the AudioMixer's exposed parameters and group count. A group count above ~8 or effects on the Master group are immediate flags.
59
+ 1. **Find all AudioSources:** Use the scene-component query recipe in [resources/audio-import-api.md](resources/audio-import-api.md) for `UnityEngine.AudioSource`. For each result, use **one** `script eval` call to batch-read properties — see the batch read recipe in [resources/audio-import-api.md](resources/audio-import-api.md).
60
+ 2. **Inspect mixer topology:** If a mixer was found in Pre-Flight, use `script eval` to read the AudioMixer's exposed parameters and group count. A group count above ~8 or effects on the Master group are immediate flags.
61
61
  3. **Check DSP buffer size:** Use the DSP buffer recipe in [resources/audio-import-api.md](resources/audio-import-api.md) to read buffer size. See DSP Buffer Size Guidelines in [resources/platform-settings.md](resources/platform-settings.md) for recommended values.
62
62
  4. **Report findings before making changes:** Summarize ALL detected sources, the listener count, and mixer depth to the user. Flag any immediate risks (e.g., stereo clip with `spatialBlend = 1`, Decompress On Load on a clip > 1 MB, reverb on the Master group).
63
63
 
@@ -88,15 +88,15 @@ Use the findings from Section 2 to determine which sub-section applies. More tha
88
88
 
89
89
  For any AudioSource where `spatialBlend > 0` (3D positioned sound):
90
90
 
91
- 1. **Check clip channel count:** Use `eval` to read `audioSource.clip.channels`. If `channels == 2` and `spatialBlend == 1`, only the left channel plays — this is a bug, not a feature.
91
+ 1. **Check clip channel count:** Use `script eval` to read `audioSource.clip.channels`. If `channels == 2` and `spatialBlend == 1`, only the left channel plays — this is a bug, not a feature.
92
92
  2. **Recommend Force To Mono:** Use the read importer recipe in [resources/audio-import-api.md](resources/audio-import-api.md) to inspect current settings, then apply Force To Mono using the force-to-mono recipe.
93
93
  3. **Apply and reimport:** Report before/after channel counts to the user.
94
- 4. **Verify spatial blend:** Use `eval` to confirm `audioSource.spatialBlend` is `1.0` (full 3D) and `audioSource.rolloffMode` is set to an appropriate curve.
94
+ 4. **Verify spatial blend:** Use `script eval` to confirm `audioSource.spatialBlend` is `1.0` (full 3D) and `audioSource.rolloffMode` is set to an appropriate curve.
95
95
 
96
96
  ### 4B. AudioMixer Audit
97
97
 
98
- 1. **Measure group depth:** Use `eval` to walk the mixer's group tree and count levels. More than 3 levels (Master → SFX / Music / Voice → sub-bus) adds routing overhead every frame, even when children are silent.
99
- 2. **Check effects on silent groups:** Use `eval` to query each group's effects list. Effects such as `AudioReverbFilter` run their DSP at full cost even when no AudioSource routes to that group.
98
+ 1. **Measure group depth:** Use `script eval` to walk the mixer's group tree and count levels. More than 3 levels (Master → SFX / Music / Voice → sub-bus) adds routing overhead every frame, even when children are silent.
99
+ 2. **Check effects on silent groups:** Use `script eval` to query each group's effects list. Effects such as `AudioReverbFilter` run their DSP at full cost even when no AudioSource routes to that group.
100
100
  3. **Flag SFX Reverb on parent groups:** This is the most expensive built-in effect. If found on the Master or a high-level group, flag it explicitly.
101
101
  4. **Present recommendations to the user:**
102
102
  - Remove or bypass effects on groups that have no active sources.
@@ -122,7 +122,7 @@ For any AudioSource where `spatialBlend > 0` (3D positioned sound):
122
122
 
123
123
  ### 4E. Load Type and Streaming
124
124
 
125
- 1. **Audit Load Type per clip:** Use `eval` to read `clip.loadType` for each clip found in Section 2.
125
+ 1. **Audit Load Type per clip:** Use `script eval` to read `clip.loadType` for each clip found in Section 2.
126
126
  2. **Apply the decision rule:** See Load Type Decision Table in [resources/platform-settings.md](resources/platform-settings.md).
127
127
  3. **Flag mismatches:** See Load Type Mismatch Flags in [resources/platform-settings.md](resources/platform-settings.md). Report both types of mismatches to the user.
128
128
  4. **Apply `Load In Background`** for any Streaming clip — use the Load In Background recipe in [resources/audio-import-api.md](resources/audio-import-api.md).
@@ -131,7 +131,7 @@ For any AudioSource where `spatialBlend > 0` (3D positioned sound):
131
131
 
132
132
  After any import setting or mixer change:
133
133
 
134
- 1. **Re-read clip stats:** Use `eval` to re-read `clip.loadType`, `clip.channels`, `AudioSettings.outputSampleRate`, and the importer's `compressionFormat` to confirm the change applied after reimport.
134
+ 1. **Re-read clip stats:** Use `script eval` to re-read `clip.loadType`, `clip.channels`, `AudioSettings.outputSampleRate`, and the importer's `compressionFormat` to confirm the change applied after reimport.
135
135
  2. **Confirm AudioSource routing:** Use the scene-component query recipe for `UnityEngine.AudioSource` and verify `audioSource.outputAudioMixerGroup` is assigned as expected after any mixer restructure.
136
136
  3. **Report delta:** State the before and after values for each setting changed. Do not assume the change was effective without reading back the applied importer values.
137
137
  4. **Iterate limit:** Maximum 3 adjust-and-verify cycles before pausing to ask the user for feedback.
@@ -154,7 +154,7 @@ After any import setting or mixer change:
154
154
  ### AudioMixer CPU spike — DSP thread hot
155
155
 
156
156
  1. Confirm with the mixer-asset query recipe that the mixer graph exists.
157
- 2. Use `eval` to list all groups and their attached effects. Look for reverb, chorus, or EQ on high-level groups.
157
+ 2. Use `script eval` to list all groups and their attached effects. Look for reverb, chorus, or EQ on high-level groups.
158
158
  3. Move expensive effects down to leaf groups that are only active when sources are playing.
159
159
  4. Use snapshots to bypass effect chains during gameplay states where they are not heard (e.g., bypass reverb during a menu).
160
160
  5. If the DSP buffer is small (64 or 128 samples), raise it — see DSP Buffer Size Guidelines in [resources/platform-settings.md](resources/platform-settings.md).
@@ -168,7 +168,7 @@ After any import setting or mixer change:
168
168
 
169
169
  ### AudioListener count is not exactly one
170
170
 
171
- - **Zero listeners:** All audio will be silent. Use `eval` to add an `AudioListener` component to the main camera: `UnityEngine.Camera.main.gameObject.AddComponent<UnityEngine.AudioListener>()`.
171
+ - **Zero listeners:** All audio will be silent. Use `script eval` to add an `AudioListener` component to the main camera: `UnityEngine.Camera.main.gameObject.AddComponent<UnityEngine.AudioListener>()`.
172
172
  - **Multiple listeners:** Unity uses the last enabled one, producing unpredictable spatialization. Use the scene-component query recipe for `UnityEngine.AudioListener` and disable all but the intended one.
173
173
 
174
174
  ### `Load In Background` causes first-play silence
@@ -1,9 +1,9 @@
1
1
  # Audio Import API Recipes
2
2
 
3
- C# code recipes for `unity command eval --code '<snippet>'`. All examples target the Unity 6
3
+ C# code recipes for `unity command script eval --code '<snippet>'`. All examples target the Unity 6
4
4
  AudioImporter API.
5
5
 
6
- `eval` compiles a statement block, so there are no `using` directives and every type is written
6
+ `script eval` compiles a statement block, so there are no `using` directives and every type is written
7
7
  fully qualified. Each recipe `return`s its result as a string rather than calling `Debug.Log`, so
8
8
  the value comes back on the CLI's stdout instead of only reaching the Editor console.
9
9
 
@@ -75,7 +75,7 @@ importer.SaveAndReimport();
75
75
 
76
76
  ## Read AudioSource Properties (Batch)
77
77
 
78
- Read multiple properties in a single `eval` call:
78
+ Read multiple properties in a single `script eval` call:
79
79
 
80
80
  ```csharp
81
81
  var src = audioSource;
@@ -103,7 +103,7 @@ if (path.EndsWith(".mp3", System.StringComparison.OrdinalIgnoreCase))
103
103
 
104
104
  ## Resolving `audioSource` / `clip` inside a snippet
105
105
 
106
- The recipes above are written against an `audioSource` or `clip` variable. `eval` runs each
106
+ The recipes above are written against an `audioSource` or `clip` variable. `script eval` runs each
107
107
  snippet in a fresh scope, so nothing carries over between calls — resolve the object at the top of
108
108
  the same snippet that uses it.
109
109
 
@@ -140,7 +140,10 @@ An `AudioMixer` is a project asset, not a scene object, so it is found through t
140
140
  rather than a scene query.
141
141
 
142
142
  ```csharp
143
- var guids = UnityEditor.AssetDatabase.FindAssets("t:AudioMixer");
143
+ // Scope to Assets. Unscoped, FindAssets also walks read-only packages and reports mixers the
144
+ // user did not author. The second parameter is string[] searchInFolders; there is no SearchMode
145
+ // overload. Measured on one project: t:Material returned 81 unscoped against 9 under Assets.
146
+ var guids = UnityEditor.AssetDatabase.FindAssets("t:AudioMixer", new[] { "Assets" });
144
147
  var paths = System.Linq.Enumerable.Select(guids, UnityEditor.AssetDatabase.GUIDToAssetPath);
145
148
  return $"count={guids.Length}: {string.Join(", ", paths)}";
146
149
  ```