@aqian0/dsh-unity 0.0.0-stage → 0.1.0
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.
- package/CHANGELOG.md +53 -0
- package/LICENSE-UNITY-COMPANION.md +122 -0
- package/LICENSE.md +31 -0
- package/NOTICE.md +90 -0
- package/README.md +273 -2
- package/cordis.patch.yml +22 -0
- package/docs/design.md +297 -0
- package/icon.svg +16 -0
- package/lib/frontmatter.js +392 -0
- package/lib/gating.js +105 -0
- package/lib/harness.js +16 -0
- package/lib/index.js +171 -0
- package/lib/project.js +210 -0
- package/lib/registry.js +268 -0
- package/lib/requirements.js +214 -0
- package/lib/skills.js +191 -0
- package/lib/types/frontmatter.d.ts +84 -0
- package/lib/types/gating.d.ts +80 -0
- package/lib/types/harness.d.ts +152 -0
- package/lib/types/index.d.ts +75 -0
- package/lib/types/project.d.ts +93 -0
- package/lib/types/registry.d.ts +96 -0
- package/lib/types/requirements.d.ts +67 -0
- package/lib/types/skills.d.ts +54 -0
- package/lib/types/watch.d.ts +34 -0
- package/lib/watch.js +84 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +70 -4
- package/skills/2d-pixel-perfect/SKILL.md +208 -0
- package/skills/2d-pixel-perfect/references/api-reference.md +81 -0
- package/skills/2d-pixel-perfect/references/camera-setup-builtin.cs +40 -0
- package/skills/2d-pixel-perfect/references/camera-setup-urp.cs +49 -0
- package/skills/2d-pixel-perfect/references/pipeline-detection.cs +50 -0
- package/skills/2d-pixel-perfect/references/sprite-settings.cs +37 -0
- package/skills/asset-transformer-toolkit/SECURITY.md +15 -0
- package/skills/asset-transformer-toolkit/SKILL.md +39 -0
- package/skills/asset-transformer-toolkit/references/create-importer.md +121 -0
- package/skills/asset-transformer-toolkit/references/lods.md +61 -0
- package/skills/asset-transformer-toolkit/references/rule-api.md +154 -0
- package/skills/asset-transformer-toolkit/references/ruleblock-api.md +37 -0
- package/skills/asset-transformer-toolkit/references/ruleset-api.md +138 -0
- package/skills/asset-transformer-toolkit/references/rulesets-and-actions.md +227 -0
- package/skills/audio-setup-mixers/SECURITY.md +16 -0
- package/skills/audio-setup-mixers/SKILL.md +127 -0
- package/skills/audio-setup-mixers/references/api.md +162 -0
- package/skills/build-gtk/SECURITY.md +16 -0
- package/skills/build-gtk/SKILL.md +200 -0
- package/skills/build-gtk/references/api-reference.md +33 -0
- package/skills/build-gtk/references/graph-api-gaps.md +96 -0
- package/skills/build-gtk/references/runtime-and-visualization.md +191 -0
- package/skills/build-gtk/references/state-machine-api.md +270 -0
- package/skills/build-gtk/references/where-the-docs-stop.md +49 -0
- package/skills/build-live-game/SKILL.md +159 -0
- package/skills/build-live-game/references/achievements.md +757 -0
- package/skills/build-live-game/references/apis.md +271 -0
- package/skills/build-live-game/references/authentication.md +431 -0
- package/skills/build-live-game/references/battlepass.md +904 -0
- package/skills/build-live-game/references/blueprints-and-samples.md +75 -0
- package/skills/build-live-game/references/cloud-code-cloudbehaviours.md +1111 -0
- package/skills/build-live-game/references/cloud-code-modules.md +1276 -0
- package/skills/build-live-game/references/cloud-code.md +58 -0
- package/skills/build-live-game/references/cloud-save.md +464 -0
- package/skills/build-live-game/references/deployment.md +231 -0
- package/skills/build-live-game/references/orientation.md +30 -0
- package/skills/build-live-game/references/player-account.md +821 -0
- package/skills/build-live-game/references/remote-config.md +96 -0
- package/skills/build-live-game/references/services-overview.md +76 -0
- package/skills/build-live-game/references/tooling.md +375 -0
- package/skills/build-live-game/references/ugs-cli.md +86 -0
- package/skills/craft-game-floors/SECURITY.md +23 -0
- package/skills/craft-game-floors/SKILL.md +134 -0
- package/skills/craft-game-floors/references/art-direction.md +85 -0
- package/skills/craft-game-floors/references/camera-rigs.md +51 -0
- package/skills/craft-game-floors/references/character-motion.md +35 -0
- package/skills/craft-game-floors/references/game-audio.md +47 -0
- package/skills/craft-game-floors/references/game-feel.md +68 -0
- package/skills/craft-game-floors/references/game-shell.md +45 -0
- package/skills/craft-game-floors/references/live-floor.md +35 -0
- package/skills/craft-game-floors/references/placeholder-assets.md +35 -0
- package/skills/craft-game-floors/references/scene-lighting.md +52 -0
- package/skills/craft-game-floors/references/toon-shading.md +34 -0
- package/skills/craft-game-floors/references/vfx.md +40 -0
- package/skills/craft-game-floors/references/visual-scorecard.md +43 -0
- package/skills/create-2d-physics/SECURITY.md +16 -0
- package/skills/create-2d-physics/SKILL.md +128 -0
- package/skills/create-2d-physics/references/2d-physics-core.md +155 -0
- package/skills/create-2d-physics/references/legacy-2d-physics.md +45 -0
- package/skills/create-tile-palette-or-rule-tiles/SKILL.md +95 -0
- package/skills/create-tile-palette-or-rule-tiles/references/hexagonalruletile.md +71 -0
- package/skills/create-tile-palette-or-rule-tiles/references/palette-create.md +38 -0
- package/skills/create-tile-palette-or-rule-tiles/references/ruletile-createempty.md +37 -0
- package/skills/create-tile-palette-or-rule-tiles/references/ruletile-createfromsegment.md +219 -0
- package/skills/create-tile-palette-or-rule-tiles/references/ruletile.md +95 -0
- package/skills/create-tile-palette-or-rule-tiles/scripts/CreatePaletteTemplate.cs +148 -0
- package/skills/create-tile-palette-or-rule-tiles/scripts/ManualWorkflowExample.cs +63 -0
- package/skills/create-tile-palette-or-rule-tiles/scripts/RuleTileGenerator.cs +61 -0
- package/skills/create-tile-palette-or-rule-tiles/scripts/TilemapRuleTileCreateFromSegment.cs +225 -0
- package/skills/fix-3d-physics-collisions/SECURITY.md +17 -0
- package/skills/fix-3d-physics-collisions/SKILL.md +139 -0
- package/skills/fix-3d-physics-collisions/references/collision-checklist.md +80 -0
- package/skills/fix-3d-physics-collisions/references/collision-debugger.md +18 -0
- package/skills/fix-3d-physics-collisions/references/console-errors-table.md +9 -0
- package/skills/fix-3d-physics-collisions/references/kinematic-trigger-facts.md +18 -0
- package/skills/fix-3d-physics-collisions/references/other-symptoms.md +29 -0
- package/skills/fix-3d-physics-collisions/references/raycast-checklist.md +8 -0
- package/skills/fix-3d-physics-collisions/references/topic-map.md +42 -0
- package/skills/fix-3d-physics-collisions/references/trigger-checklist.md +9 -0
- package/skills/fix-3d-physics-collisions/scripts/CollisionDebugger.cs +561 -0
- package/skills/generate-editor-search-query/SECURITY.md +17 -0
- package/skills/generate-editor-search-query/SKILL.md +117 -0
- package/skills/generate-editor-search-query/references/open-search-window.md +70 -0
- package/skills/generate-editor-search-query/references/query-patterns.md +124 -0
- package/skills/implement-in-app-purchases/SKILL.md +82 -0
- package/skills/implement-in-app-purchases/references/api-details.md +41 -0
- package/skills/implement-in-app-purchases/references/api-notes.md +105 -0
- package/skills/implement-in-app-purchases/references/codeless-catalog.md +197 -0
- package/skills/implement-in-app-purchases/references/convert-adapty.md +270 -0
- package/skills/implement-in-app-purchases/references/convert-essentialkit.md +239 -0
- package/skills/implement-in-app-purchases/references/convert-revenuecat.md +277 -0
- package/skills/implement-in-app-purchases/references/convert-unipay.md +145 -0
- package/skills/implement-in-app-purchases/references/migration-v4-to-v5.md +46 -0
- package/skills/implement-in-app-purchases/references/path-add-iap-to-new-project.md +197 -0
- package/skills/implement-in-app-purchases/references/path-convert-native-google-billing.md +302 -0
- package/skills/implement-in-app-purchases/references/path-convert-native-storekit.md +357 -0
- package/skills/implement-in-app-purchases/references/path-implement-iap-d2c.md +253 -0
- package/skills/implement-in-app-purchases/references/platform-notes.md +55 -0
- package/skills/implement-in-app-purchases/references/pre-check.md +207 -0
- package/skills/implement-in-app-purchases/references/topic-map.md +46 -0
- package/skills/initialize-ai-navigation/SKILL.md +109 -0
- package/skills/initialize-ai-navigation/references/navigation-system.md +793 -0
- package/skills/initialize-ai-navigation/references/topic-map.md +66 -0
- package/skills/levelplay-unity-integration/SKILL.md +122 -0
- package/skills/levelplay-unity-integration/references/adding-more-ad-formats.md +15 -0
- package/skills/levelplay-unity-integration/references/banner-api.md +927 -0
- package/skills/levelplay-unity-integration/references/best-practices.md +604 -0
- package/skills/levelplay-unity-integration/references/dependency-resolution.md +94 -0
- package/skills/levelplay-unity-integration/references/examples.md +10 -0
- package/skills/levelplay-unity-integration/references/ilrd-api.md +337 -0
- package/skills/levelplay-unity-integration/references/initialization-api.md +851 -0
- package/skills/levelplay-unity-integration/references/interstitial-api.md +907 -0
- package/skills/levelplay-unity-integration/references/ios-setup.md +463 -0
- package/skills/levelplay-unity-integration/references/migration-sdk-9.md +666 -0
- package/skills/levelplay-unity-integration/references/privacy-settings.md +593 -0
- package/skills/levelplay-unity-integration/references/production-release-checklist.md +22 -0
- package/skills/levelplay-unity-integration/references/rewarded-api.md +918 -0
- package/skills/levelplay-unity-integration/references/step-0-new-or-migration.md +8 -0
- package/skills/levelplay-unity-integration/references/step-1-verify-environment.md +4 -0
- package/skills/levelplay-unity-integration/references/step-10-testing.md +15 -0
- package/skills/levelplay-unity-integration/references/step-2-business-goals.md +12 -0
- package/skills/levelplay-unity-integration/references/step-3-install-sdk.md +55 -0
- package/skills/levelplay-unity-integration/references/step-4-native-dependencies.md +22 -0
- package/skills/levelplay-unity-integration/references/step-5-app-key-and-ad-units.md +18 -0
- package/skills/levelplay-unity-integration/references/step-6-5-privacy-and-regulation.md +51 -0
- package/skills/levelplay-unity-integration/references/step-6-admob-keys.md +16 -0
- package/skills/levelplay-unity-integration/references/step-7-initialize.md +50 -0
- package/skills/levelplay-unity-integration/references/step-8-ad-unit-strategy.md +16 -0
- package/skills/levelplay-unity-integration/references/step-9-implement-ad-units.md +66 -0
- package/skills/levelplay-unity-integration/references/testing-and-validation.md +222 -0
- package/skills/levelplay-unity-integration/references/troubleshooting.md +99 -0
- package/skills/localize-unity-project/SKILL.md +159 -0
- package/skills/localize-unity-project/references/api-notes.md +15 -0
- package/skills/localize-unity-project/references/cjk-fonts.md +83 -0
- package/skills/localize-unity-project/references/docs-map.md +42 -0
- package/skills/localize-unity-project/references/documentation-lookup.md +33 -0
- package/skills/localize-unity-project/references/locale-switching.md +17 -0
- package/skills/localize-unity-project/references/table-completeness-check.md +47 -0
- package/skills/localize-unity-project/references/translating-existing-project.md +47 -0
- package/skills/localize-unity-project/references/translation-strategy.md +41 -0
- package/skills/localize-unity-project/references/troubleshooting.md +12 -0
- package/skills/localize-unity-project/scripts/L10nBatchProcessor.cs +191 -0
- package/skills/localize-unity-project/scripts/LocalizedFontAsset.cs +18 -0
- package/skills/manage-sprite-atlas/SKILL.md +202 -0
- package/skills/manage-sprite-atlas/references/addressables-delivery.md +58 -0
- package/skills/manage-sprite-atlas/references/advanced-manual-authoring.md +19 -0
- package/skills/manage-sprite-atlas/references/api.md +382 -0
- package/skills/manage-sprite-atlas/references/best-practices.md +183 -0
- package/skills/manage-sprite-atlas/references/common-errors.md +123 -0
- package/skills/manage-sprite-atlas/references/complete-workflow.md +61 -0
- package/skills/manage-sprite-atlas/references/custom-packing.md +147 -0
- package/skills/manage-sprite-atlas/references/delivery-mechanism.md +30 -0
- package/skills/manage-sprite-atlas/references/key-requirements.md +21 -0
- package/skills/manage-sprite-atlas/references/manual-authoring.md +39 -0
- package/skills/manage-sprite-atlas/references/namespaces.md +15 -0
- package/skills/manage-sprite-atlas/references/v2-architecture.md +21 -0
- package/skills/manage-sprite-atlas/resources/authoringvsruntime.cs +176 -0
- package/skills/manage-sprite-atlas/resources/buildaddressablespostprocess.cs +59 -0
- package/skills/manage-sprite-atlas/resources/cacheloadedatlases.cs +145 -0
- package/skills/manage-sprite-atlas/resources/cleanupbatchoperations.cs +119 -0
- package/skills/manage-sprite-atlas/resources/createandconfiguremasteratlas.cs +57 -0
- package/skills/manage-sprite-atlas/resources/custompackersetup.cs +88 -0
- package/skills/manage-sprite-atlas/resources/deprecatedmethods.cs +142 -0
- package/skills/manage-sprite-atlas/resources/dontmodifywithoutsaving.cs +120 -0
- package/skills/manage-sprite-atlas/resources/dontpackinruntimebuilds.cs +190 -0
- package/skills/manage-sprite-atlas/resources/dontscriptspriteatlasineditor.cs +114 -0
- package/skills/manage-sprite-atlas/resources/editorconfiguration.cs +95 -0
- package/skills/manage-sprite-atlas/resources/enablespritepacking.cs +172 -0
- package/skills/manage-sprite-atlas/resources/gridspritepacker.cs +50 -0
- package/skills/manage-sprite-atlas/resources/handlelatebinding.cs +147 -0
- package/skills/manage-sprite-atlas/resources/handlenullcases.cs +141 -0
- package/skills/manage-sprite-atlas/resources/migratev1tov2.cs +335 -0
- package/skills/manage-sprite-atlas/resources/multipagepacker.cs +80 -0
- package/skills/manage-sprite-atlas/resources/optimizetexturesettings.cs +191 -0
- package/skills/manage-sprite-atlas/resources/packerdebugging.cs +158 -0
- package/skills/manage-sprite-atlas/resources/packtransform.cs +51 -0
- package/skills/manage-sprite-atlas/resources/platformnames.cs +127 -0
- package/skills/manage-sprite-atlas/resources/queryspritesefficiently.cs +222 -0
- package/skills/manage-sprite-atlas/resources/registercallbacks.cs +152 -0
- package/skills/manage-sprite-atlas/resources/runtimeatlasloader.cs +15 -0
- package/skills/manage-sprite-atlas/resources/runtimespriteaccess.cs +19 -0
- package/skills/manage-sprite-atlas/resources/savespriteatlasasset.cs +107 -0
- package/skills/manage-sprite-atlas/resources/scriptablepacker.cs +81 -0
- package/skills/manage-sprite-atlas/resources/setincludeinbuild.cs +164 -0
- package/skills/manage-sprite-atlas/resources/sizeoptimizedpacker.cs +88 -0
- package/skills/manage-sprite-atlas/resources/spriteatlaslatebinding.cs +123 -0
- package/skills/manage-sprite-atlas/resources/spriteatlasprebuildgenerator.cs +219 -0
- package/skills/manage-sprite-atlas/resources/spritedata.cs +35 -0
- package/skills/manage-sprite-atlas/resources/spritepack.cs +39 -0
- package/skills/manage-sprite-atlas/resources/texturedata.cs +15 -0
- package/skills/manage-sprite-atlas/resources/updatebuildscripts.cs +357 -0
- package/skills/manage-sprite-atlas/resources/updatesettingsconfiguration.cs +135 -0
- package/skills/manage-sprite-atlas/resources/usevariantswisely.cs +179 -0
- package/skills/manage-sprite-atlas/resources/variantatlas.cs +39 -0
- package/skills/migrate-birp-to-urp/SECURITY.md +16 -0
- package/skills/migrate-birp-to-urp/SKILL.md +167 -0
- package/skills/migrate-birp-to-urp/references/capturing-the-editor.md +66 -0
- package/skills/migrate-birp-to-urp/references/complex-shader-situations.md +272 -0
- package/skills/migrate-birp-to-urp/references/conversion-and-rendering-triage.md +113 -0
- package/skills/migrate-birp-to-urp/references/custom-shader-triage.md +123 -0
- package/skills/migrate-birp-to-urp/references/implementation-patterns.md +529 -0
- package/skills/migrate-birp-to-urp/references/migration-workflow.md +265 -0
- package/skills/migrate-birp-to-urp/references/parity-validation-and-troubleshooting.md +114 -0
- package/skills/migrate-birp-to-urp/references/preflight-and-urp-setup.md +195 -0
- package/skills/migrate-birp-to-urp/references/quality-settings-map.md +69 -0
- package/skills/new-unity-project/SECURITY.md +26 -0
- package/skills/new-unity-project/SKILL.md +171 -0
- package/skills/new-unity-project/references/checklist.md +18 -0
- package/skills/new-unity-project/references/common-mistakes.md +15 -0
- package/skills/new-unity-project/references/skill-setup.md +66 -0
- package/skills/new-unity-project/references/step-1-concept.md +13 -0
- package/skills/new-unity-project/references/step-2-platforms-and-create.md +31 -0
- package/skills/new-unity-project/references/step-3-join-and-reconcile.md +16 -0
- package/skills/new-unity-project/references/step-4-source-control.md +9 -0
- package/skills/new-unity-project/references/step-5-packages.md +18 -0
- package/skills/new-unity-project/references/step-6-identity-and-floors.md +20 -0
- package/skills/new-unity-project/references/step-7-visual-baseline.md +75 -0
- package/skills/new-unity-project/references/step-8-first-commit.md +21 -0
- package/skills/new-unity-project/references/step-9-handoff.md +23 -0
- package/skills/optimize-audio/SECURITY.md +16 -0
- package/skills/optimize-audio/SKILL.md +120 -0
- package/skills/optimize-audio/references/diagnostics.md +42 -0
- package/skills/optimize-audio/references/troubleshooting.md +41 -0
- package/skills/optimize-audio/resources/audio-import-api.md +149 -0
- package/skills/optimize-audio/resources/platform-settings.md +48 -0
- package/skills/optimize-text-mesh-pro/SKILL.md +181 -0
- package/skills/optimize-text-mesh-pro/references/dynamic-atlas-and-profiling.md +28 -0
- package/skills/optimize-text-mesh-pro/references/topic-map.md +36 -0
- package/skills/optimize-web/SECURITY.md +16 -0
- package/skills/optimize-web/SKILL.md +157 -0
- package/skills/optimize-web/references/editor-csharp.md +120 -0
- package/skills/optimize-web/references/topic-map.md +49 -0
- package/skills/optimize-web/references/troubleshooting.md +45 -0
- package/skills/optimize-web/references/understand-request.md +19 -0
- package/skills/optimize-web/references/web-assets-quality.md +59 -0
- package/skills/optimize-web/references/web-player-settings.md +39 -0
- package/skills/optimize-web/references/web-profiling-memory.md +71 -0
- package/skills/optimize-web/scripts/WebOptimizer.cs +46 -0
- package/skills/optimize-web/scripts/toktx-examples.sh +11 -0
- package/skills/setup-multiplayer-services/SKILL.md +36 -0
- package/skills/setup-multiplayer-services/references/dgs-entrypoint.md +79 -0
- package/skills/setup-multiplayer-services/references/entrypoints.md +213 -0
- package/skills/setup-multiplayer-services/references/examples.md +33 -0
- package/skills/setup-multiplayer-services/references/implementation-fit.md +30 -0
- package/skills/setup-multiplayer-services/references/underlying-services.md +11 -0
- package/skills/setup-multiplayer-services/references/workflows-prerequisites.md +17 -0
- package/skills/setup-vivox-voice-chat/SECURITY.md +16 -0
- package/skills/setup-vivox-voice-chat/SKILL.md +166 -0
- package/skills/setup-vivox-voice-chat/references/api-reference-lookup.md +28 -0
- package/skills/setup-vivox-voice-chat/references/docs-topic-map.md +13 -0
- package/skills/setup-vivox-voice-chat/references/events-and-participants.md +79 -0
- package/skills/setup-vivox-voice-chat/references/init-and-login.md +92 -0
- package/skills/setup-vivox-voice-chat/references/text-chat.md +93 -0
- package/skills/setup-vivox-voice-chat/references/troubleshooting.md +47 -0
- package/skills/setup-vivox-voice-chat/references/voice-channels.md +92 -0
- package/skills/shader-graph-create-custom-node/SKILL.md +25 -0
- package/skills/shader-graph-create-custom-node/resources/all_hints.hlsl +182 -0
- package/skills/sprite-editor/SECURITY.md +16 -0
- package/skills/sprite-editor/SKILL.md +66 -0
- package/skills/sprite-editor/references/api_reference.md +151 -0
- package/skills/sprite-editor/references/background.md +112 -0
- package/skills/sprite-editor/references/templates.md +72 -0
- package/skills/sprite-editor/scripts/AutomaticSliceTexture.cs +40 -0
- package/skills/sprite-editor/scripts/GenerateNewSpriteRects.cs +200 -0
- package/skills/sprite-editor/scripts/GetTextureSourceImageSize.cs +32 -0
- package/skills/sprite-editor/scripts/GetTextureToSlice.cs +55 -0
- package/skills/sprite-editor/scripts/GridSliceTexture.cs +40 -0
- package/skills/sprite-editor/scripts/IsometricSliceTexture.cs +141 -0
- package/skills/sprite-editor/scripts/README.md +134 -0
- package/skills/sprite-editor/scripts/SetPivotExample.cs +58 -0
- package/skills/sprite-editor/scripts/SpriteToPng.cs +88 -0
- package/skills/sprite-segment-3x3grid/SKILL.md +177 -0
- package/skills/sprite-segment-3x3grid/references/topic-map.md +37 -0
- package/skills/sprite-segment-3x3grid/scripts/SpriteGridAnalysis.cs +119 -0
- package/skills/ui/SKILL.md +142 -0
- package/skills/ui-imgui/SKILL.md +180 -0
- package/skills/ui-imgui/references/gui-elements.md +156 -0
- package/skills/ui-imgui/references/templates.md +141 -0
- package/skills/ui-ugui/SKILL.md +217 -0
- package/skills/ui-ugui/references/layout-and-anchors.md +61 -0
- package/skills/ui-ugui/references/scrollview-setup.md +29 -0
- package/skills/ui-uitk/SKILL.md +229 -0
- package/skills/ui-uitk/references/common-issues.md +74 -0
- package/skills/ui-uitk/references/custom-elements.md +241 -0
- package/skills/ui-uitk/references/painter2d.md +282 -0
- package/skills/ui-uitk/references/pointermanipulator-guide.md +94 -0
- package/skills/ui-uitk/references/svg-icons.md +136 -0
- package/skills/ui-uitk/references/ui-runtime-binding.md +234 -0
- package/skills/ui-uitk/references/uss-guide.md +138 -0
- package/skills/unity-cli/CHANGELOG.md +524 -0
- package/skills/unity-cli/SECURITY.md +68 -0
- package/skills/unity-cli/SKILL.md +160 -0
- package/skills/unity-cli/references/auth-license-cloud.md +318 -0
- package/skills/unity-cli/references/bootstrap-project.md +177 -0
- package/skills/unity-cli/references/build-run-test.md +555 -0
- package/skills/unity-cli/references/catalog-plugins.md +86 -0
- package/skills/unity-cli/references/ci-recipes.md +76 -0
- package/skills/unity-cli/references/cloud-automation.md +819 -0
- package/skills/unity-cli/references/cloud-workflows.md +19 -0
- package/skills/unity-cli/references/collaboration.md +533 -0
- package/skills/unity-cli/references/config-hub.md +239 -0
- package/skills/unity-cli/references/diagnostics-maintenance.md +718 -0
- package/skills/unity-cli/references/docs-workflow.md +179 -0
- package/skills/unity-cli/references/editor-targeting.md +29 -0
- package/skills/unity-cli/references/editors-install.md +490 -0
- package/skills/unity-cli/references/environment-variables.md +42 -0
- package/skills/unity-cli/references/exit-codes.md +47 -0
- package/skills/unity-cli/references/global-flags.md +32 -0
- package/skills/unity-cli/references/integration-advanced.md +1130 -0
- package/skills/unity-cli/references/notes.md +20 -0
- package/skills/unity-cli/references/notifications.md +39 -0
- package/skills/unity-cli/references/playmode-verification-loop.md +279 -0
- package/skills/unity-cli/references/projects-templates.md +997 -0
- package/skills/unity-cli/references/scene-editing-preflight.md +25 -0
- package/skills/unity-cli/references/setup-and-help.md +54 -0
- package/skills/unity-cli/references/version-control.md +612 -0
- package/skills/unity-package-management/SKILL.md +169 -0
- package/skills/unity-package-management/references/discovering-packages.md +66 -0
- package/skills/unity-package-management/references/headless-run.md +31 -0
- package/skills/unity-package-management/references/installer-script.md +92 -0
- package/skills/unity-package-management/references/select-packages.md +126 -0
- package/skills/unity-pipeline/SECURITY.md +17 -0
- package/skills/unity-pipeline/SKILL.md +205 -0
- package/skills/unity-pipeline/references/csharp-eval.md +23 -0
- package/skills/unity-pipeline/references/multiplayer-play-mode.md +103 -0
- package/skills/urp-postprocessing/SECURITY.md +16 -0
- package/skills/urp-postprocessing/SKILL.md +188 -0
- package/skills/urp-postprocessing/references/code-templates.md +150 -0
- package/skills/urp-postprocessing/references/effect-reference.md +86 -0
- package/skills/validate-urp-render-graph-renderer-feature/SKILL.md +92 -0
- package/skills/validate-urp-render-graph-renderer-feature/references/validation-checklist.md +179 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Quality Settings Map
|
|
2
|
+
|
|
3
|
+
Use this map to explain where common Built-in quality settings end up after URP migration.
|
|
4
|
+
|
|
5
|
+
## Official References
|
|
6
|
+
|
|
7
|
+
- [Convert Built-in quality settings to URP](https://docs.unity3d.com/Manual/urp/birp-onboarding/quality-presets.html)
|
|
8
|
+
- [Find Built-in quality settings in URP](https://docs.unity3d.com/Manual/urp/birp-onboarding/quality-settings-location.html)
|
|
9
|
+
- [Universal Render Pipeline asset](https://docs.unity3d.com/Manual/urp/urp-asset-and-renderer.html)
|
|
10
|
+
- [Change how lights fade to match the Built-In Render Pipeline](https://docs.unity3d.com/Manual/urp/birp-onboarding/birp-light-falloff-in-urp.html)
|
|
11
|
+
|
|
12
|
+
## Common Mappings
|
|
13
|
+
|
|
14
|
+
| Built-in concept | URP location |
|
|
15
|
+
| --- | --- |
|
|
16
|
+
| Render Pipeline Asset | `Project Settings > Quality > Rendering > Render Pipeline Asset` |
|
|
17
|
+
| Default pipeline assignment | `Project Settings > Graphics > Render Pipeline Asset` |
|
|
18
|
+
| MSAA | `URP Asset > Quality > Anti-aliasing (MSAA)` |
|
|
19
|
+
| Camera anti-aliasing | `Camera > Rendering > Anti-aliasing` |
|
|
20
|
+
| Main light shadows | `URP Asset > Lighting > Main Light > Cast Shadows` |
|
|
21
|
+
| Additional light shadows | `URP Asset > Lighting > Additional Lights > Cast Shadows` |
|
|
22
|
+
| Main light shadow resolution | `URP Asset > Lighting > Main Light > Shadow Resolution` |
|
|
23
|
+
| Additional light shadow atlas and tiers | `URP Asset > Lighting > Additional Lights > Shadow Atlas Resolution` and `Shadow Resolution Tiers` |
|
|
24
|
+
| Shadow distance | `URP Asset > Shadows > Max Distance` |
|
|
25
|
+
| Shadow cascades | `URP Asset > Shadows > Cascade Count` and split controls |
|
|
26
|
+
| HDR | `URP Asset > Quality > HDR` |
|
|
27
|
+
| Depth texture | `URP Asset > Rendering > Depth Texture` |
|
|
28
|
+
| Opaque texture | `URP Asset > Rendering > Opaque Texture` |
|
|
29
|
+
| Real-time reflection probes | `Project Settings > Quality > Rendering > Real-time Reflection Probes` |
|
|
30
|
+
| Resolution scaling | `Project Settings > Quality > Rendering > Resolution Scaling Fixed DPI Factor` and `URP Asset > Quality > Render Scale` |
|
|
31
|
+
| LOD cross fade | `URP Asset > Quality > LOD Cross Fade` |
|
|
32
|
+
| Baked GI / lightmaps | Scene Lighting Settings, `LightmapSettings`, Lighting Data asset; verify visually and rebake under URP when parity matters |
|
|
33
|
+
| Reflection probe bake data | Scene reflection probes; refresh/rebake after URP lighting and post-processing settings are finalized |
|
|
34
|
+
|
|
35
|
+
## Guidance
|
|
36
|
+
|
|
37
|
+
- Many settings that used to live only in Built-in quality settings are split between Project Settings and the URP asset.
|
|
38
|
+
- Treat the official URP values as a starting point, not a promise of identical performance or visuals.
|
|
39
|
+
- After migration, verify the user's important quality levels explicitly instead of assuming Low and High presets still behave the same way.
|
|
40
|
+
- A Quality level with no custom render pipeline asset may fall back to Graphics settings. That can be acceptable, but state this explicitly instead of claiming that Quality was fully assigned.
|
|
41
|
+
- For full-project migrations, prefer assigning the intended URP asset to all relevant runtime Quality levels unless the project deliberately relies on Graphics settings fallback.
|
|
42
|
+
- When validating on disk, look for each Quality level's saved `customRenderPipeline` entry. `{fileID: 0}` means that level has no explicit pipeline asset, even if Graphics Settings has a URP asset.
|
|
43
|
+
- If using scripts or serialized project settings to assign Quality assets, verify by re-querying after saving. Do not trust a guessed serialized field name or a command log that says assignment happened.
|
|
44
|
+
- In Unity versions without a direct per-index setter, use the converter-style assignment pattern: store `QualitySettings.GetQualityLevel()`, call `QualitySettings.SetQualityLevel(index)`, set `QualitySettings.renderPipeline = urpAsset`, repeat for each target level, restore the original level, then verify saved `customRenderPipeline` references. Do not invent APIs such as `QualitySettings.SetRenderPipelineAssetAt`.
|
|
45
|
+
- Light falloff and overall scene brightness can differ between Built-in and URP. Treat that as a tuning step, not automatically a failed migration.
|
|
46
|
+
- Baked GI, lightmaps, light probes, and reflection probes are visual-parity risks. Preserve existing baked data as reference, but recommend a URP rebake/refresh when the scene depends on baked lighting.
|
|
47
|
+
- If a migrated scene is extremely bright or washed out, check for double post-processing first: retained PPv2 components/layers plus an active URP Volume can stack exposure, bloom, tonemapping, or color grading during validation.
|
|
48
|
+
- If a migrated scene is too dark, too flat, or still high contrast after material and PPv2 migration, treat exposure balance as part of visual validation. Verify URP post-processing wiring first, then tune Volume exposure/tonemapping/lift-gamma-gain, ambient fill, additional-light limits, and shadow settings with representative captures.
|
|
49
|
+
- If clearing baked data makes the scene stop being washed out, classify the old Built-in lightmaps or Lighting Data as stale active data. Preserve them as reference, but clear active baked data and rebake under URP before final tuning.
|
|
50
|
+
- If a new Lighting Settings asset is created for URP baked GI, verify the saved scene references it after saving/reloading. A `.lighting` asset with baked GI enabled is not active if the scene still points to the old Enlighten/realtime-GI settings asset.
|
|
51
|
+
- Do not claim baked lighting parity from compile success, material conversion, or URP asset assignment alone.
|
|
52
|
+
|
|
53
|
+
## Validation Checklist
|
|
54
|
+
|
|
55
|
+
After migration or troubleshooting:
|
|
56
|
+
|
|
57
|
+
1. Confirm the correct URP asset is assigned in Graphics settings.
|
|
58
|
+
2. Confirm each relevant Quality level points to the expected URP asset.
|
|
59
|
+
- If it does not, report whether this is intentional fallback behavior or an incomplete migration item.
|
|
60
|
+
3. Compare shadow distance, cascades, and shadow resolution against the user's expected look.
|
|
61
|
+
4. If fullscreen effects depend on them, verify whether depth texture and opaque texture are enabled.
|
|
62
|
+
5. If the user reports blurrier or sharper visuals, review MSAA, render scale, and camera anti-aliasing.
|
|
63
|
+
6. If lighting looks "off," review light falloff, post-processing, active PPv2/URP volumes, and ambient/environment settings before rewriting content.
|
|
64
|
+
7. For baked-lighting scenes, inspect Lighting Settings, `LightmapSettings`, baked/mixed lights, light probes, reflection probes, and Lighting Data assets.
|
|
65
|
+
8. If old lightmaps are causing severe overexposure, clear active baked data before final URP validation.
|
|
66
|
+
9. If visual parity matters, rebake lighting under URP and refresh reflection probes after URP renderer, Quality, and Volume settings are finalized.
|
|
67
|
+
10. After assigning new Lighting Settings, save the scene and verify the scene reference, not only the settings asset contents.
|
|
68
|
+
11. If the final capture is too dark or too bright, verify renderer `PostProcessData`, camera `renderPostProcessing`, camera volume layer mask, active Volume weight/priority/layer, and saved VolumeProfile overrides before changing lighting.
|
|
69
|
+
12. When exposure balance is required, prefer bounded changes to `ColorAdjustments.postExposure`, contrast, saturation, `Tonemapping`, `LiftGammaGain`, Bloom, ambient sky color/intensity, additional-light count, and shadow settings. If extreme values are only compensating for missing GI or an unfinished bake, report lighting parity as partial.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Security notes: new-unity-project
|
|
2
|
+
|
|
3
|
+
This skill has the agent install Unity Editors and packages, create a cloud-linked project, run C#
|
|
4
|
+
inside the user's Editor (the visual baseline), write one small bootstrap script into the project,
|
|
5
|
+
and append one line to the project's CLAUDE.md or AGENTS.md. Automated skill scanners flag several
|
|
6
|
+
of these as powerful capabilities. They are intentional, and limited by the safeguards below.
|
|
7
|
+
|
|
8
|
+
## Accepted risks
|
|
9
|
+
|
|
10
|
+
| Risk | Capability | Why it is accepted |
|
|
11
|
+
|---|---|---|
|
|
12
|
+
| `SEC_POWER_CAP` | Runs C# in the user's Editor | It only reaches the Editor the user already has open, on their own machine, as that user; the commands sit behind the Pipeline capability gate. No code fetched from a remote source is run — the agent runs C# it writes from this skill's and its delegated skills' own recipes. |
|
|
13
|
+
| `SEC_FILE_WRITE` | Writes one bootstrap script (Step 6) and appends one line to CLAUDE.md/AGENTS.md (Step 9) | Both writes land inside the project the skill just created and both are surfaced before they run: in paved mode as notice with an opt-out on the assumptions manifest ("say the word to change any of these"), in guided mode as per-step asks that are true consent. Both are reversible on a word, and the scope section caps the skill at exactly one bootstrap script. |
|
|
14
|
+
| `SEC_INSTALL` | Installs Editors, modules, packages, and (with the user's yes) agent skills | Installs go through the Unity CLI's own commands and the PackageManager API — never `curl \| sh`, never hand-edited manifests. Skill installs always ask first (Before Step 1). Versions and the package list are declared before installing. |
|
|
15
|
+
| `SEC_CLOUD` | Creates a cloud-linked Unity project with diagnostics per the CLI's defaults | The link is `projects create`'s own default behavior, narrated to the user from the create result. Sign-in is a human gate: it runs only after the user's yes, and the user completes it in the browser. `--bare` and the link opt-outs are honored on the user's word. |
|
|
16
|
+
|
|
17
|
+
## Mitigations
|
|
18
|
+
|
|
19
|
+
- **The manifest is the notice-and-opt-out surface** in paved mode: every assumption — the file
|
|
20
|
+
writes and the cloud-link narration included — prints in one block before the create launches,
|
|
21
|
+
and any line reverses on a word. Consent in the strict sense comes from guided mode's per-step
|
|
22
|
+
asks; paved mode's bar is that nothing runs unannounced and nothing is irreversible.
|
|
23
|
+
- **Human gates are never consumed.** Sign-in, license activation (including accepting the Unity Personal EULA) and publishing each run only after the user says yes to a question the agent asks and waits on.
|
|
24
|
+
- **Only the user's own Editor and account.** Everything runs on this machine as this user.
|
|
25
|
+
- **No remote code.** All executed C# comes from this skill's text and its delegated skills.
|
|
26
|
+
- **Named commands first.** Where a dedicated `unity` command covers a step, the skill uses it.
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: new-unity-project
|
|
3
|
+
description: Guides creating a new Unity project, from concept, platforms, and monetization to source control and packages. Use when the user asks to start a new game or prototype. Runs an opinionated paved path by default.
|
|
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 runs parse the prompt into a 2–4 line brief; guided runs ask for it. Read [step 1 — concept](references/step-1-concept.md) before the template choice or any guided question: it lists the brief's fields and what the brief later drives.
|
|
123
|
+
|
|
124
|
+
## Step 2 — Platforms & monetization, then start installing
|
|
125
|
+
|
|
126
|
+
Two decisions, then the manifest prints, then the create starts in the background. Read [step 2 — platforms, monetization, and the create](references/step-2-platforms-and-create.md) before you launch a project: it has the exact `unity projects create` flags, the template rules, and the module mapping.
|
|
127
|
+
|
|
128
|
+
## Step 3 — Join: project ready, result reconciled
|
|
129
|
+
|
|
130
|
+
Read [step 3 — join and reconcile](references/step-3-join-and-reconcile.md) when the background create returns: it names the result fields, the manifest reconciliation, the cloud-link 403 retry, and the missing-module follow-up.
|
|
131
|
+
|
|
132
|
+
## Step 4 — Source control
|
|
133
|
+
|
|
134
|
+
Read [step 4 — source control](references/step-4-source-control.md) before attaching a repo: it holds the `link vcs` flags, why `--no-initial-commit`, and the Unity Version Control option.
|
|
135
|
+
|
|
136
|
+
## Step 5 — Packages
|
|
137
|
+
|
|
138
|
+
Never hand-edit `manifest.json`. Read [step 5 — packages](references/step-5-packages.md) before installing: it has the paved package set, the bare-run exception, and the render-pipeline warning.
|
|
139
|
+
|
|
140
|
+
## Step 6 — Player identity, then the craft floors
|
|
141
|
+
|
|
142
|
+
Read [step 6 — player identity and the craft floors](references/step-6-identity-and-floors.md) once packages land: it decides identity from the create result, never wires auth twice, and says when to load `craft-game-floors`.
|
|
143
|
+
|
|
144
|
+
## Step 7 — Visual baseline
|
|
145
|
+
|
|
146
|
+
Read [step 7 — visual baseline](references/step-7-visual-baseline.md) before opening the Editor and before any gameplay work: it carries the Pipeline-install-before-open order, the 6000.5.0–6000.5.2 blocker, and all six baseline items with their URP/Built-in caveats. A `--bare` run skips it.
|
|
147
|
+
|
|
148
|
+
## Step 8 — Save & first commit
|
|
149
|
+
|
|
150
|
+
Read [step 8 — save and first commit](references/step-8-first-commit.md) to commit with the VCS from Step 4: it has the git sequence, the `.meta` requirement, and the mirrored-skills question.
|
|
151
|
+
|
|
152
|
+
## Step 9 — Hand off
|
|
153
|
+
|
|
154
|
+
Read [step 9 — hand off](references/step-9-handoff.md) at the end: it routes monetization to the matching integration skill, gives the forward-baton wording, and lists what the report must contain.
|
|
155
|
+
|
|
156
|
+
## Scope — what this skill does NOT do
|
|
157
|
+
|
|
158
|
+
- **No gameplay scaffolding.** A running, wired project with a visual floor; the game is the next
|
|
159
|
+
conversation (with `craft-game-floors`). One exception: Step 6's single bootstrap script.
|
|
160
|
+
- **No command reference.** Syntax lives in `unity-cli` / `unity-package-management`.
|
|
161
|
+
- **No re-deciding create's defaults** — narrate them from the result. The Defaults table is this
|
|
162
|
+
file's only opinions; the guided interview survives untouched.
|
|
163
|
+
|
|
164
|
+
## Checklist
|
|
165
|
+
|
|
166
|
+
Read [the checklist](references/checklist.md) before reporting, and do not report an item you have not checked.
|
|
167
|
+
|
|
168
|
+
## Common mistakes
|
|
169
|
+
|
|
170
|
+
Read [common mistakes](references/common-mistakes.md) when something looks done but is wrong — blocked creates, double-wired auth, pink shaders, committed `Library/`.
|
|
171
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Checklist
|
|
2
|
+
|
|
3
|
+
- [ ] Delegated skills checked before Step 1 (incl. `craft-game-floors`): a missing one offered, or named
|
|
4
|
+
in the report
|
|
5
|
+
- [ ] Mode decided once; in paved, the manifest printed before the create launches
|
|
6
|
+
- [ ] Brief captured; platforms + monetization recorded
|
|
7
|
+
- [ ] Background create with `--install-editor` + modules, URP template (`--template 3d`/`2d`)
|
|
8
|
+
unless Built-in was requested; `--bare` only on the user's ask; result reconciled
|
|
9
|
+
- [ ] Source control attached (Step 4), or local git + Unity `.gitignore`
|
|
10
|
+
- [ ] Packages via `package add` (or the C# script pre-open); `manifest.json` verified; no
|
|
11
|
+
render-pipeline package atop the template
|
|
12
|
+
- [ ] Identity confirmed from the result or wired in Step 6 (stated cost on a failed link)
|
|
13
|
+
- [ ] `craft-game-floors` loaded (or its absence named); `unity-pipeline` read once the Editor was ready
|
|
14
|
+
- [ ] Baseline applied: Volume + camera post on, quality tier, UI stack (no `OnGUI`), URP shaders,
|
|
15
|
+
capture checked (skipped on `--bare`; on 6000.5.0–6000.5.2, Editor updated first)
|
|
16
|
+
- [ ] `.meta` files exist; first commit made; `Library/` excluded
|
|
17
|
+
- [ ] Forward baton offered and written only on a yes (none on `--bare`); handoff done if applicable
|
|
18
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Common mistakes
|
|
2
|
+
|
|
3
|
+
- **Blocking on the create** instead of backgrounding it: with `--install-editor` it waits for the
|
|
4
|
+
whole Editor install.
|
|
5
|
+
- **Acting before the manifest prints** (paved), or burying an assumption outside it — if it isn't
|
|
6
|
+
in the manifest, it isn't assumed.
|
|
7
|
+
- **Wiring auth twice** — if create's result shows identity, Step 6's wiring is a skip.
|
|
8
|
+
- **Hand-editing `manifest.json`** instead of the package commands or the skill's script.
|
|
9
|
+
- **Doing a required sub-skill's job from memory** when it isn't loaded, without telling the user
|
|
10
|
+
or offering the install.
|
|
11
|
+
- **Committing `Library/`/`Temp/`/`obj/`/`Build/`**, or scripts without their `.meta` files.
|
|
12
|
+
- **Missing Editor modules** — a mobile target needs `android`/`ios`; WebGL needs `webgl`.
|
|
13
|
+
- **Picking `com.unity.template.2d` / `.3d` by name** — Built-in templates; use `--template 3d`/`2d`.
|
|
14
|
+
- **Skipping the visual baseline** — flat template defaults, `OnGUI` HUDs, and
|
|
15
|
+
`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,13 @@
|
|
|
1
|
+
# Step 1 — Concept
|
|
2
|
+
|
|
3
|
+
**Paved:** the prompt is the spec — parse genre, dimension (2D/3D), look, scope, and name into a
|
|
4
|
+
2–4 line brief; fill gaps from the Defaults table; no read-back.
|
|
5
|
+
|
|
6
|
+
**Guided:** ask with your client's multiple-choice tool (`AskUserQuestion` in Claude Code,
|
|
7
|
+
`ask_user` in Copilot CLI, `askQuestions` in VS Code); without one, plain text.
|
|
8
|
+
Cover **genre / core loop** · **dimension & look** (2D or 3D; pixel, low-poly, stylized,
|
|
9
|
+
realistic) · **gameplay** (the one-sentence "what the player does moment to moment") · **scope**
|
|
10
|
+
(prototype vs. multi-scene; single- or multiplayer). Settle a **project name**, write the brief,
|
|
11
|
+
read it back. The brief drives the template (Step 2), packages (Step 5) and the baseline (Step 7):
|
|
12
|
+
note the palette / mood words and pixel-art looks.
|
|
13
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Step 2 — Platforms & monetization, then start installing
|
|
2
|
+
|
|
3
|
+
Two decisions (paved: filled from the Defaults table, then **print the manifest**):
|
|
4
|
+
|
|
5
|
+
- **Target platforms**: Desktop, Mobile (iOS/Android), WebGL, Console — they map to Editor
|
|
6
|
+
**modules** (`--module`) and argue for leaner packages on mobile/WebGL.
|
|
7
|
+
- **Monetization**: none / premium / IAP / ads / mix — this only decides the Step 9 handoff.
|
|
8
|
+
|
|
9
|
+
Default to an explicit `--editor-version latest` unless the user names a version — without the
|
|
10
|
+
flag, create prefers a stored default or an older installed Editor.
|
|
11
|
+
|
|
12
|
+
Confirm prerequisites, then **start the create as a background task** (`unity-cli` has module
|
|
13
|
+
names and auth / license setup):
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
unity --version # sign-in and license: settled before your first question (see above)
|
|
17
|
+
|
|
18
|
+
# Start in the BACKGROUND. Module names per platform are in the unity-cli skill.
|
|
19
|
+
# --bare only on the user's ask (see Mode).
|
|
20
|
+
unity projects create "<Name>" --path <dir> --editor-version latest \
|
|
21
|
+
--template <3d|2d> --install-editor --module <platform-modules> --accept-eula --format json
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The command waits for the install, then creates the project, so its one result covers both. If you
|
|
25
|
+
have nothing left to ask, it's fine to just wait.
|
|
26
|
+
|
|
27
|
+
**Template:** `--template 3d` / `2d` resolve to the version's URP templates
|
|
28
|
+
(`com.unity.template.urp-blank`, `com.unity.template.universal-2d`), the default for every game.
|
|
29
|
+
Built-in templates (`com.unity.template.3d`/`.2d` as full ids) are deprecated from 6.5, removed in
|
|
30
|
+
6.7 — pass one only when the user explicitly asks for Built-in.
|
|
31
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Step 3 — Join: project ready, result reconciled
|
|
2
|
+
|
|
3
|
+
Wait for the background create and read its JSON result: `data.path` is the project,
|
|
4
|
+
`data.version` the Editor, `data.editorInstalled` whether this run installed it.
|
|
5
|
+
|
|
6
|
+
**Paved: reconcile the result against the manifest**, narrating divergence — the cloud-link
|
|
7
|
+
soft-fail included (`cloudLinked: false`, warnings, project intact; Step 6 keys off it). A 403 on
|
|
8
|
+
the link is often the saved default org refusing new projects — retry
|
|
9
|
+
`unity projects link cloud <path> --cloud-org <an org the user owns>` before concluding
|
|
10
|
+
no-identity. A result carrying a `steps` field reconciles step-by-step from it.
|
|
11
|
+
|
|
12
|
+
`--module` only applies when the run installs the Editor: on `data.editorInstalled: false`, add
|
|
13
|
+
the platform modules with `unity install-modules -e <version> -m <platform-modules> --accept-eula`
|
|
14
|
+
(skips what's already there). If create failed, surface the error (`unity-cli` troubleshooting)
|
|
15
|
+
and stop — a failed install creates no project, and nothing downstream works without an Editor.
|
|
16
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Step 4 — Source control
|
|
2
|
+
|
|
3
|
+
**Paved:** local git + Unity `.gitignore`. **Guided:** ask — Git (GitHub / GitLab; `--git-lfs` for
|
|
4
|
+
asset-heavy games), **Unity Version Control** (`--vcs uvcs` — large binaries natively, no LFS), or
|
|
5
|
+
purely local. Attach with `unity projects link vcs "<project-path>" --vcs …
|
|
6
|
+
--git-token-from-stdin --no-initial-commit` (tokens on stdin) — **`--no-initial-commit`** keeps
|
|
7
|
+
the CLI from committing the bare project before packages and `.meta` files exist; the real first
|
|
8
|
+
commit is Step 8. Exact flags: the `unity-cli` workflow.
|
|
9
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Step 5 — Packages
|
|
2
|
+
|
|
3
|
+
Map the brief to a package list and install via **`unity-package-management`** (**never**
|
|
4
|
+
hand-edit `manifest.json`): `package add` once the Editor is open with `com.unity.pipeline`
|
|
5
|
+
(Step 7); its C# installer script when packages must land pre-open (the `-quit` gotcha applies).
|
|
6
|
+
That skill has the genre/platform/monetization → package mapping. A `--bare` run installs only the
|
|
7
|
+
packages the user named, through the C# installer script (bare has no `com.unity.pipeline`, so
|
|
8
|
+
`package add` can't run; never `unity pipeline install` to get it, which undoes the bare ask), and
|
|
9
|
+
stops there. Otherwise paved
|
|
10
|
+
adds the floors' needs: Cinemachine for any gameplay camera (2D rigs included);
|
|
11
|
+
`com.unity.services.authentication` when Step 6 wires identity; and the live floor's services set
|
|
12
|
+
on cloud-linked projects — in this pass, not at shell time. Cloud save and remote config come from
|
|
13
|
+
create: when its `steps` report `cloudSave` and `remoteConfig` as `done` or `present`, skip them and
|
|
14
|
+
add only what is left (leaderboards). The template already provides the
|
|
15
|
+
render pipeline — never add `com.unity.render-pipelines.universal` on a Built-in template
|
|
16
|
+
(materials go pink) or vice versa. Read the list back before installing (paved: print it now);
|
|
17
|
+
verify `manifest.json` after.
|
|
18
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Step 6 — Player identity, then the craft floors
|
|
2
|
+
|
|
3
|
+
**Identity — the create result is the switch** (a `--bare` run skips this whole step: bare
|
|
4
|
+
projects still cloud-link unless `--no-cloud`, and the unwired cost was stated at Mode time):
|
|
5
|
+
identity addressed in the result → confirm it in the reconciliation and **skip**, never wire auth
|
|
6
|
+
twice. No identity and the project cloud-linked →
|
|
7
|
+
wire it: services init plus anonymous sign-in kicked off at bootstrap in **one small bootstrap
|
|
8
|
+
script**, never blocked on (mechanics: **`build-live-game`**, auth section — checked in Before
|
|
9
|
+
Step 1; missing and declined → skip the wiring, gap named); each service dependency is a named
|
|
10
|
+
plan line, declining removes only that line. Cloud link failed or skipped →
|
|
11
|
+
skip with the cost stated (saves and ranks stay local) — never wire services init against a
|
|
12
|
+
project with no cloud id. Invisible to players, upgradeable later — the root the live floor
|
|
13
|
+
builds on.
|
|
14
|
+
|
|
15
|
+
**A `--bare` run skips the floors too** (the Mode section's stated cost). Otherwise **load the
|
|
16
|
+
`craft-game-floors` skill** (checked in Before Step 1) and follow its floors through the
|
|
17
|
+
build — art bible first, then camera, lighting, feedback, audio, shell, live floor, its done gate.
|
|
18
|
+
Its values supersede the inline fallbacks below whenever present, version skew included. Missing
|
|
19
|
+
and declined → fallbacks, gap named in the report.
|
|
20
|
+
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Step 7 — Visual baseline
|
|
2
|
+
|
|
3
|
+
A fresh template renders correctly but looks like a default; left there, agents reach for `OnGUI`
|
|
4
|
+
and guess shader names. Apply this floor **before** any gameplay work. A `--bare` run skips this
|
|
5
|
+
whole step (no Pipeline install, no baseline): go to Step 8, which opens the project.
|
|
6
|
+
|
|
7
|
+
**On Unity 6000.5.0 to 6000.5.2, stop here.** The Pipeline package can't start its server on those
|
|
8
|
+
Editors (create reports `PIPELINE_EDITOR_UNSUPPORTED`), so nothing below can connect, and reopening
|
|
9
|
+
won't help. Create also left the package out on those Editors. Ask the user to update to
|
|
10
|
+
6000.5.3f1 or later, then continue below with the project still closed: the Pipeline install comes
|
|
11
|
+
first, then the open names the updated Editor, `unity open "<project-path>" --editor-version
|
|
12
|
+
<updated-version>` — a plain `unity open` reopens with the project's saved 6000.5.x Editor. If the
|
|
13
|
+
update is 6000.7 or later, `unity open` refuses that move (`PROJECT_UPGRADE_REQUIRED`): run
|
|
14
|
+
`unity projects upgrade "<project-path>" --to <updated-version> --yes` instead. It asks
|
|
15
|
+
nothing: add `--no-cloud` when the user declined the cloud link at create, since an unlinked
|
|
16
|
+
project otherwise exits `CLOUD_CHOICE_REQUIRED`, and no cloud flag when create linked it.
|
|
17
|
+
|
|
18
|
+
**First, `unity pipeline install --project-path "<project-path>"`, before opening the
|
|
19
|
+
Editor.** Running C# in the Editor and `unity command capture screenshot` below both need the
|
|
20
|
+
project's `com.unity.pipeline` package. Create adds it by default on newer CLIs (this install then
|
|
21
|
+
changes nothing); older CLIs leave the project without it, and Step 5's `-batchmode` installer
|
|
22
|
+
never touches it. Install-before-open is the supported order; without the package, everything below fails to
|
|
23
|
+
connect (it mimics `unity-cli`'s Safe Mode failure). The failure codes
|
|
24
|
+
(`PIPELINE_MANIFEST_WRITE_FAILED`, a stuck `STATUS_PIPELINE_LOAD_PENDING`) and the stuck-Editor
|
|
25
|
+
recovery are tabled in [references/skill-setup.md](../references/skill-setup.md).
|
|
26
|
+
|
|
27
|
+
**Then** `unity open "<project-path>"`, wait until `unity status` reports the Editor ready, and
|
|
28
|
+
apply each item below by running C# in it — **`unity-cli` owns those commands**; don't re-derive
|
|
29
|
+
them here.
|
|
30
|
+
|
|
31
|
+
Once the Editor is ready, read the `unity-pipeline` guide if your skills don't list it —
|
|
32
|
+
locations and mirroring routes: [references/skill-setup.md](../references/skill-setup.md).
|
|
33
|
+
|
|
34
|
+
**Items 1, 2, 5 and 6 assume a URP template**, the Step 2 default. If the user explicitly chose
|
|
35
|
+
Built-in, don't run them as written — `UniversalAdditionalCameraData`, `Light2D`, the
|
|
36
|
+
`urp-postprocessing` volume framework and `Universal Render Pipeline/*` shaders don't exist there;
|
|
37
|
+
post-processing means the legacy Post Processing Stack, the shader names are `Standard` /
|
|
38
|
+
`Unlit/Color`, and items 3–4 apply as written. Don't reach for `migrate-birp-to-urp` — the user
|
|
39
|
+
asked for Built-in.
|
|
40
|
+
|
|
41
|
+
1. **Post-processing.** Global Volume — `craft-game-floors`'s scene-lighting values when loaded (they
|
|
42
|
+
supersede these); fallback: Tonemapping (ACES), Bloom intensity 0.5–1 @ threshold 0.9, Vignette
|
|
43
|
+
≈ 0.25; set `renderPostProcessing = true` on the main camera's `UniversalAdditionalCameraData`.
|
|
44
|
+
**REQUIRED SUB-SKILL:** `urp-postprocessing` — its templates create the volume and check HDR and
|
|
45
|
+
the layer mask; if it isn't loaded, do both yourself from these values.
|
|
46
|
+
2. **Camera and light.** 2D → orthographic, solid background from the brief's palette, a `Light2D`
|
|
47
|
+
of type Global if the template scene has none (Sprite-Lit shaders render black without one).
|
|
48
|
+
3D → perspective, main-light shadows on; `craft-game-floors`'s lighting pass replaces the template's
|
|
49
|
+
default light story when loaded, else keep the template's directional light and skybox.
|
|
50
|
+
3. **Quality tier.** Read `QualitySettings.names` first — tier names differ per template — then
|
|
51
|
+
`QualitySettings.SetQualityLevel` to the one matching the primary target: the highest tier for
|
|
52
|
+
desktop, the lowest for mobile/WebGL. Leave color space Linear and the Input System as the
|
|
53
|
+
template set them.
|
|
54
|
+
4. **UI stack.** HUD and menus use a uGUI Canvas + TextMeshPro or UI Toolkit — **never `OnGUI`**.
|
|
55
|
+
**REQUIRED SUB-SKILL:** `ui` picks between them for the project. If it isn't loaded, choose
|
|
56
|
+
between them from the brief and say which you chose, and why, in your final report.
|
|
57
|
+
5. **Materials and shaders.** Under URP use `Universal Render Pipeline/Lit`, `…/Unlit`,
|
|
58
|
+
`…/2D/Sprite-Lit-Default` or `…/2D/Sprite-Unlit-Default`. `Standard` and `Unlit/Color` render
|
|
59
|
+
pink or washed out under URP. Prefer `GraphicsSettings.currentRenderPipeline.defaultMaterial`
|
|
60
|
+
/ `.default2DMaterial` over `Shader.Find`, and treat a `null` from `Shader.Find` as an error.
|
|
61
|
+
`currentRenderPipeline`, not `defaultRenderPipeline`: a quality tier can carry its own pipeline
|
|
62
|
+
asset, and item 3 above just set the tier.
|
|
63
|
+
6. **Pixel art only.** Point filter mode on sprites and a Pixel Perfect Camera — see
|
|
64
|
+
`2d-pixel-perfect`. If missing, do both yourself and note the skill-setup install route in the
|
|
65
|
+
report.
|
|
66
|
+
|
|
67
|
+
Save the scene, then confirm both of these — **not with `unity logs`**, which reads the CLI's own
|
|
68
|
+
log and reports clean whatever the scene looks like:
|
|
69
|
+
|
|
70
|
+
- No render-pipeline or shader errors Editor-side. Read the Editor console through `unity-cli`,
|
|
71
|
+
or read `Editor.log` directly — that skill's "Recovering from Safe Mode" section has the
|
|
72
|
+
per-platform paths.
|
|
73
|
+
- `unity command capture screenshot --output-path baseline.png` looks lit and tonemapped rather than flat
|
|
74
|
+
gray.
|
|
75
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Step 8 — Save & first commit
|
|
2
|
+
|
|
3
|
+
The project is already open from Step 7, so `.meta` files exist (`unity open "<project-path>"`
|
|
4
|
+
only if not — headless/CI uses the "Import & save headlessly" method in
|
|
5
|
+
`unity-package-management`). Commit **with whichever VCS you set up in Step 4**:
|
|
6
|
+
|
|
7
|
+
- **Git (GitHub / GitLab / local):**
|
|
8
|
+
```bash
|
|
9
|
+
cd "<project-path>"
|
|
10
|
+
git add -A
|
|
11
|
+
git status # Library/ Temp/ obj/ Build/ must NOT be staged
|
|
12
|
+
git commit -m "Initial Unity project: <Name>"
|
|
13
|
+
```
|
|
14
|
+
Every `.cs`/asset is committed together with its `.meta`.
|
|
15
|
+
- **Unity Version Control (UVCS):** check in through the workspace from Step 4 — no `git` step;
|
|
16
|
+
generated folders stay excluded by the ignore rules.
|
|
17
|
+
|
|
18
|
+
If Step 7 mirrored skills into the project, ask whether to include them. If Step 4 linked
|
|
19
|
+
**without** `--no-initial-commit`, the CLI already committed the bare project — add a follow-up
|
|
20
|
+
commit rather than double-committing.
|
|
21
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Step 9 — Hand off
|
|
2
|
+
|
|
3
|
+
Based on Step 2 monetization, invoke the matching skill for the actual integration:
|
|
4
|
+
- IAP → **implement-in-app-purchases**
|
|
5
|
+
- Ads → **levelplay-unity-integration**
|
|
6
|
+
- Accounts / cloud save / economy / remote config / leaderboards → **build-live-game**
|
|
7
|
+
|
|
8
|
+
If the matching skill isn't loaded, point the next steps at the skill-setup install route rather
|
|
9
|
+
than integrating from memory.
|
|
10
|
+
|
|
11
|
+
**Offer the forward baton** (declared on the manifest; not on a `--bare` run): one idempotent line
|
|
12
|
+
for the project's `CLAUDE.md` or `AGENTS.md` — "When building gameplay, feel, audio, shell, or live
|
|
13
|
+
features, load the `craft-game-floors` skill; if it isn't installed, ask the user whether to run
|
|
14
|
+
`unity skill install <client>` (ask: never run it without a yes)." That file steers every later
|
|
15
|
+
agent session in the project, so **ask before writing it**, even in paved mode, and show the line.
|
|
16
|
+
On a yes, append it and commit the note — appended after Step 8, it otherwise never reaches clones.
|
|
17
|
+
On a no, put the line in the report for the user to add. Later sessions reach the floors through
|
|
18
|
+
it without this skill re-triggering.
|
|
19
|
+
|
|
20
|
+
Report the project path, Editor version, pipeline and template, packages, the manifest with its
|
|
21
|
+
reconciliation, identity state, the baseline applied, any missing skill, `craft-game-floors`'s done gate
|
|
22
|
+
as the build's finish line, and next steps.
|
|
23
|
+
|