@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
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# 更新日志
|
|
2
|
+
|
|
3
|
+
本文件记录 `@aqian0/dsh-unity` 的版本变更,格式参照
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本号遵循
|
|
5
|
+
[Semantic Versioning](https://semver.org/lang/zh-CN/)。
|
|
6
|
+
|
|
7
|
+
## [Unreleased]
|
|
8
|
+
|
|
9
|
+
## [0.1.0] - 2026-11-09
|
|
10
|
+
|
|
11
|
+
首个发布版本。
|
|
12
|
+
|
|
13
|
+
### 新增
|
|
14
|
+
|
|
15
|
+
- 34 个 Unity 技能(`skills/`),覆盖 UI 与编辑器工具、2D/物理/场景、音频与性能、
|
|
16
|
+
渲染与 Shader、多人/语音/商业化、项目与包管理、构建与管线;技能正文只做路由,
|
|
17
|
+
细节放在各自的 `references/` 里按需加载。技能内容来自 Unity Technologies 的
|
|
18
|
+
Unity Agent Plugin,按 Unity Companion License 使用,见 `LICENSE-UNITY-COMPANION.md`。
|
|
19
|
+
- DSH bundle 与 `unity-skills` 补丁行(`cordis.patch.yml`),安装后按 agent 注册技能
|
|
20
|
+
provider。
|
|
21
|
+
- 工程门控:从会话工作目录向上查找 `ProjectSettings/ProjectVersion.txt`,按 Editor
|
|
22
|
+
版本、`Packages/manifest.json` 里的包与渲染管线决定技能可见性;非 Unity 工程只保留
|
|
23
|
+
`new-unity-project`、`unity-cli`、`unity-package-management` 三个起步技能。
|
|
24
|
+
- 需求执行:`required_editor_version` / `required_packages` 不满足时技能离开模型目录,
|
|
25
|
+
仍可用 `/技能名` 显式载入;事实未知时不隐藏技能。
|
|
26
|
+
- 运行时上下文:每个 agent 注入一条 `unity:project`,说明工程路径、Editor 版本、
|
|
27
|
+
渲染管线、Editor 与 CLI 状态,以及被隐藏的技能与原因。
|
|
28
|
+
- 实时刷新:监视 `skills/` 下 `SKILL.md` 的新增、删除与修改,清空解析缓存并让目录缓存
|
|
29
|
+
失效,无需重启。
|
|
30
|
+
- 配置项:`providerName`、`rank`、`skillDir`、`exclude`、`gateByProject`、
|
|
31
|
+
`workspaceSkills`、`enforceRequirements`、`injectContext`、`watchSkills`、
|
|
32
|
+
`respectProjectRoots`,非法值会让插件行加载失败而不是静默忽略。
|
|
33
|
+
- 开发工具:`npm run build`(`src/` → `lib/`)、`npm run typecheck`、`npm test` 与
|
|
34
|
+
`npm run validate`(技能结构、frontmatter、需求字段、正文体积与资源引用检查,
|
|
35
|
+
支持 `--report <file>` 输出 Markdown 审计报告)。
|
|
36
|
+
- 文档:`README.md`(安装、使用、配置、门控与已知限制)与 `docs/design.md`(设计说明)。
|
|
37
|
+
- CI/CD:GitHub Actions 的 `ci.yml`(类型检查、测试、技能校验与 tarball 冒烟检查)与
|
|
38
|
+
`release.yml`(tag 触发的 npm 可信发布与 GitHub Release)。
|
|
39
|
+
|
|
40
|
+
### 变更
|
|
41
|
+
|
|
42
|
+
- 插件图标改用 Lucide 的 `gamepad-2` 图形(ISC 许可),不再使用 Unity 徽标;
|
|
43
|
+
原因与版权声明见 `NOTICE.md`。
|
|
44
|
+
|
|
45
|
+
### 许可证
|
|
46
|
+
|
|
47
|
+
- 插件代码(`lib/`、`src/`、`test/`、`scripts/` 与 bundle 元数据)采用 MIT 许可证,
|
|
48
|
+
见 `LICENSE.md`。
|
|
49
|
+
- `skills/` 下的技能内容版权归 Unity Technologies,按 Unity Companion License 使用,
|
|
50
|
+
见 `LICENSE-UNITY-COMPANION.md` 与 `NOTICE.md`。
|
|
51
|
+
|
|
52
|
+
[Unreleased]: https://github.com/AQian0/dsh-unity/compare/v0.1.0...HEAD
|
|
53
|
+
[0.1.0]: https://github.com/AQian0/dsh-unity/releases/tag/v0.1.0
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Unity Companion License
|
|
2
|
+
|
|
3
|
+
The skill content under `skills/` in this repository is derived from Unity
|
|
4
|
+
Technologies' Unity Agent Plugin (https://github.com/Unity-Technologies/unity-agent-plugin)
|
|
5
|
+
and remains the property of Unity Technologies ApS. It is not covered by the
|
|
6
|
+
MIT license in LICENSE.md; it is made available under the Unity Companion
|
|
7
|
+
License only.
|
|
8
|
+
|
|
9
|
+
Unity Agent Plugin © 2026 Unity Technologies
|
|
10
|
+
|
|
11
|
+
Licensed under the Unity Companion License for Unity-dependent projects
|
|
12
|
+
(see https://unity3d.com/legal/licenses/unity_companion_license).
|
|
13
|
+
|
|
14
|
+
Unless expressly provided otherwise, the Software under this license is made
|
|
15
|
+
available strictly on an "AS IS" BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED. Please review the license for details on these and other terms and
|
|
17
|
+
conditions.
|
|
18
|
+
|
|
19
|
+
The license text below is reproduced for offline reference. Unity publishes the
|
|
20
|
+
current, authoritative version at
|
|
21
|
+
https://unity3d.com/legal/licenses/unity_companion_license; if this copy and the
|
|
22
|
+
published version differ, the published version governs.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
Unity Companion License ("License")
|
|
27
|
+
Software Copyright © 2017-20 Unity Technologies ApS
|
|
28
|
+
|
|
29
|
+
Unity Technologies ApS ("Unity") grants to you a worldwide, non-exclusive,
|
|
30
|
+
no-charge, and royalty-free copyright license to reproduce, prepare derivative
|
|
31
|
+
works of, publicly display, publicly perform, sublicense, and distribute the
|
|
32
|
+
software that is made available under this License ("Software"), subject to the
|
|
33
|
+
following terms and conditions:
|
|
34
|
+
|
|
35
|
+
Unity Companion Use Only. Exercise of the license granted herein is limited to
|
|
36
|
+
exercise for the creation, use, and/or distribution of applications, software,
|
|
37
|
+
or other content pursuant to a valid Unity content authoring and rendering
|
|
38
|
+
engine software license ("Engine License"). That means while use of the Software
|
|
39
|
+
is not limited to use in the software licensed under the Engine License, the
|
|
40
|
+
Software may not be used for any purpose other than the creation, use, and/or
|
|
41
|
+
distribution of Engine License-dependent applications, software, or other
|
|
42
|
+
content. No other exercise of the license granted herein is permitted, and in
|
|
43
|
+
no event may the Software be used for competitive analysis or to develop a
|
|
44
|
+
competing product or service.
|
|
45
|
+
|
|
46
|
+
No Modification of Engine License. Neither this License nor any exercise of the
|
|
47
|
+
license granted herein modifies the Engine License in any way.
|
|
48
|
+
|
|
49
|
+
Ownership & Grant Back to You.
|
|
50
|
+
|
|
51
|
+
3.1 You own your content. In this License, "derivative works" means derivatives
|
|
52
|
+
of the Software itself--works derived only from the Software by you under this
|
|
53
|
+
License (for example, modifying the code of the Software itself to improve its
|
|
54
|
+
efficacy); "derivative works" of the Software do not include, for example,
|
|
55
|
+
games, apps, or content that you create using the Software. You keep all right,
|
|
56
|
+
title, and interest to your own content.
|
|
57
|
+
|
|
58
|
+
3.2 Unity owns its content. While you keep all right, title, and interest to
|
|
59
|
+
your own content per the above, as between Unity and you, Unity will own all
|
|
60
|
+
right, title, and interest to all intellectual property rights (including
|
|
61
|
+
patent, trademark, and copyright) in the Software and derivative works of the
|
|
62
|
+
Software, and you hereby assign and agree to assign all such rights in those
|
|
63
|
+
derivative works to Unity.
|
|
64
|
+
|
|
65
|
+
3.3 You have a license to those derivative works. Subject to this License,
|
|
66
|
+
Unity grants to you the same worldwide, non-exclusive, no-charge, and
|
|
67
|
+
royalty-free copyright license to derivative works of the Software you create
|
|
68
|
+
as is granted to you for the Software under this License.
|
|
69
|
+
|
|
70
|
+
Trademarks. You are not granted any right or license under this License to use
|
|
71
|
+
any trademarks, service marks, trade names, products names, or branding of
|
|
72
|
+
Unity or its affiliates ("Trademarks"). Descriptive uses of Trademarks are
|
|
73
|
+
permitted; see, for example, Unity's Branding Usage Guidelines at
|
|
74
|
+
https://unity3d.com/public-relations/brand.
|
|
75
|
+
|
|
76
|
+
Notices & Third-Party Rights. This License, including the copyright notice
|
|
77
|
+
associated with the Software, must be provided in all substantial portions of
|
|
78
|
+
the Software and derivative works thereof (or, if that is impracticable, in any
|
|
79
|
+
other location where such notices are customarily placed). Further, if the
|
|
80
|
+
Software is accompanied by a Unity "third-party notices" or similar file, you
|
|
81
|
+
acknowledge and agree that software identified in that file is governed by
|
|
82
|
+
those separate license terms.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER, LIMITATION OF LIABILITY. THE SOFTWARE AND ANY DERIVATIVE WORKS
|
|
85
|
+
THEREOF IS PROVIDED ON AN "AS IS" BASIS, AND IS PROVIDED WITHOUT WARRANTY OF
|
|
86
|
+
ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND/OR NONINFRINGEMENT. IN
|
|
88
|
+
NO EVENT SHALL ANY COPYRIGHT HOLDER OR AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES
|
|
89
|
+
(WHETHER DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL,
|
|
90
|
+
INCLUDING PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOSS OF USE, DATA, OR
|
|
91
|
+
PROFITS, AND BUSINESS INTERRUPTION), OR OTHER LIABILITY WHATSOEVER, WHETHER IN
|
|
92
|
+
AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM OR OUT OF, OR IN
|
|
93
|
+
CONNECTION WITH, THE SOFTWARE OR ANY DERIVATIVE WORKS THEREOF OR THE USE OF OR
|
|
94
|
+
OTHER DEALINGS IN SAME, EVEN WHERE ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
95
|
+
|
|
96
|
+
USE IS ACCEPTANCE and License Versions. Your receipt and use of the Software
|
|
97
|
+
constitutes your acceptance of this License and its terms and conditions.
|
|
98
|
+
Software released by Unity under this License may be modified or updated and
|
|
99
|
+
the License with it; upon any such modification or update, you will comply with
|
|
100
|
+
the terms of the updated License for any use of any of the Software under the
|
|
101
|
+
updated License.
|
|
102
|
+
|
|
103
|
+
Use in Compliance with Law and Termination. Your exercise of the license
|
|
104
|
+
granted herein will at all times be in compliance with applicable law and will
|
|
105
|
+
not infringe any proprietary rights (including intellectual property rights);
|
|
106
|
+
this License will terminate immediately on any breach by you of this License.
|
|
107
|
+
|
|
108
|
+
Severability. If any provision of this License is held to be unenforceable or
|
|
109
|
+
invalid, that provision will be enforced to the maximum extent possible and the
|
|
110
|
+
other provisions will remain in full force and effect.
|
|
111
|
+
|
|
112
|
+
Governing Law and Venue. This License is governed by and construed in
|
|
113
|
+
accordance with the laws of Denmark, except for its conflict of laws rules; the
|
|
114
|
+
United Nations Convention on Contracts for the International Sale of Goods will
|
|
115
|
+
not apply. If you reside (or your principal place of business is) within the
|
|
116
|
+
United States, you and Unity agree to submit to the personal and exclusive
|
|
117
|
+
jurisdiction of and venue in the state and federal courts located in San
|
|
118
|
+
Francisco County, California concerning any dispute arising out of this License
|
|
119
|
+
("Dispute"). If you reside (or your principal place of business is) outside the
|
|
120
|
+
United States, you and Unity agree to submit to the personal and exclusive
|
|
121
|
+
jurisdiction of and venue in the courts located in Copenhagen, Denmark
|
|
122
|
+
concerning any Dispute.
|
package/LICENSE.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 AQian
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
Scope note. This MIT license covers the plugin code in this package: the
|
|
26
|
+
build output under `lib/`, the sources under `src/`, the tests under `test/`,
|
|
27
|
+
the validator under `scripts/`, and the bundle metadata (`cordis.patch.yml`,
|
|
28
|
+
`locale/`, this package's documentation). The bundle icon (`icon.svg`) uses a
|
|
29
|
+
glyph from Lucide under the ISC license, and the skill content under `skills/`
|
|
30
|
+
is Unity Technologies' material under the Unity Companion License; both are
|
|
31
|
+
licensed separately — see NOTICE.md.
|
package/NOTICE.md
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# NOTICE
|
|
2
|
+
|
|
3
|
+
`@aqian0/dsh-unity` is a DeepSeek Harness bundle. It bundles components under
|
|
4
|
+
three licenses, and the license of each part is determined by its path.
|
|
5
|
+
|
|
6
|
+
| Path | Component | Copyright | License |
|
|
7
|
+
| --- | --- | --- | --- |
|
|
8
|
+
| `src/`, `lib/`, `test/`, `scripts/`, `cordis.patch.yml`, `locale/`, `README.md`, `docs/` | The bundle: the DSH skill provider, its configuration, tests, tooling, and documentation | © 2026 AQian | MIT — see [LICENSE.md](./LICENSE.md) |
|
|
9
|
+
| `icon.svg` | The bundle icon: the Lucide `gamepad-2` glyph, scaled, recolored, and placed on a tile | © 2026 Lucide Icons and Contributors | ISC — see [Bundle icon](#bundle-icon) |
|
|
10
|
+
| `skills/**` | The 34 Unity skills: Markdown guidance, reference documents, and C# sample scripts | © 2026 Unity Technologies | Unity Companion License — see [LICENSE-UNITY-COMPANION.md](./LICENSE-UNITY-COMPANION.md) |
|
|
11
|
+
|
|
12
|
+
## Unity Technologies notice
|
|
13
|
+
|
|
14
|
+
The skill content under `skills/` is adapted from Unity Technologies' Unity
|
|
15
|
+
Agent Plugin (https://github.com/Unity-Technologies/unity-agent-plugin) for use
|
|
16
|
+
with DeepSeek Harness. It remains the property of Unity Technologies ApS and is
|
|
17
|
+
made available only under the Unity Companion License:
|
|
18
|
+
|
|
19
|
+
> Unity Agent Plugin © 2026 Unity Technologies
|
|
20
|
+
>
|
|
21
|
+
> Licensed under the Unity Companion License for Unity-dependent projects (see
|
|
22
|
+
> https://unity3d.com/legal/licenses/unity_companion_license).
|
|
23
|
+
>
|
|
24
|
+
> Unless expressly provided otherwise, the Software under this license is made
|
|
25
|
+
> available strictly on an "AS IS" BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
26
|
+
> OR IMPLIED. Please review the license for details on these and other terms
|
|
27
|
+
> and conditions.
|
|
28
|
+
|
|
29
|
+
The MIT license of this package does not apply to that content and does not
|
|
30
|
+
grant any rights that the Unity Companion License withholds. In particular, and
|
|
31
|
+
without replacing the license text:
|
|
32
|
+
|
|
33
|
+
- Use of the skill content is permitted only in connection with the creation,
|
|
34
|
+
use, and/or distribution of applications or other content under a valid Unity
|
|
35
|
+
Engine License ("Unity Companion Use Only").
|
|
36
|
+
- The skill content may not be used for competitive analysis or to develop a
|
|
37
|
+
competing product or service.
|
|
38
|
+
- No right or license is granted to Unity trademarks, service marks, trade
|
|
39
|
+
names, product names, or branding.
|
|
40
|
+
|
|
41
|
+
## Security notes inside the skills
|
|
42
|
+
|
|
43
|
+
Sixteen skills ship a `SECURITY.md` next to their `SKILL.md`. These are Unity's
|
|
44
|
+
notes about capabilities that automated scanners flag (for example running C#
|
|
45
|
+
in the user's open Editor, installing from a pipe, or changing agent
|
|
46
|
+
configuration) and about the safeguards that bound them. They sit alongside
|
|
47
|
+
`SKILL.md` in each skill folder, are part of the skill content, and are covered
|
|
48
|
+
by the Unity Companion License like the rest of `skills/**`.
|
|
49
|
+
|
|
50
|
+
## Third-party products referenced by the skills
|
|
51
|
+
|
|
52
|
+
The skills document workflows for Unity and for third-party SDKs and services,
|
|
53
|
+
including LevelPlay/ironSource, Vivox, Unity IAP, StoreKit, Google Play Billing,
|
|
54
|
+
and Unity Gaming Services. No third-party SDK code is bundled in this package;
|
|
55
|
+
those products remain governed by their own terms and licenses.
|
|
56
|
+
|
|
57
|
+
## Bundle icon
|
|
58
|
+
|
|
59
|
+
`icon.svg` uses the `gamepad-2` glyph from [Lucide](https://lucide.dev), scaled,
|
|
60
|
+
recolored, and placed on a rounded tile. The glyph is not the Unity logo and is
|
|
61
|
+
not used to suggest any affiliation with Unity.
|
|
62
|
+
|
|
63
|
+
ISC License
|
|
64
|
+
|
|
65
|
+
Copyright (c) 2026 Lucide Icons and Contributors
|
|
66
|
+
|
|
67
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
68
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
69
|
+
copyright notice and this permission notice appear in all copies.
|
|
70
|
+
|
|
71
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
72
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
73
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
74
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
75
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
76
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
77
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
78
|
+
|
|
79
|
+
## Trademarks
|
|
80
|
+
|
|
81
|
+
This package does not use the Unity logo or any other Unity brand asset. The
|
|
82
|
+
word "Unity" is used descriptively to describe compatibility with Unity
|
|
83
|
+
software and the origin of the skill content, following Unity's guidelines at
|
|
84
|
+
https://unity.com/legal/branding-trademarks. Unity and the Unity logo are
|
|
85
|
+
trademarks or registered trademarks of Unity Technologies ApS or its affiliates
|
|
86
|
+
in the U.S. and elsewhere. DeepSeek Harness and its marks belong to their
|
|
87
|
+
respective owners.
|
|
88
|
+
|
|
89
|
+
This package is not sponsored by or affiliated with Unity Technologies or its
|
|
90
|
+
affiliates.
|
package/README.md
CHANGED
|
@@ -1,3 +1,274 @@
|
|
|
1
|
-
#
|
|
1
|
+
# dsh-unity
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本仓维护 **34 个 Unity 技能**,并把它们接入 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(DSH)。装上之后,每个会话按自己所在的工程决定目录里出现哪些技能:不在 Unity 工程里只留 3 个起步技能,在工程里再按 Editor 版本和已装包筛掉不适用的,并把工程事实写进该会话的运行时上下文。
|
|
4
|
+
|
|
5
|
+
## 简介
|
|
6
|
+
|
|
7
|
+
`@aqian0/dsh-unity` 是一个 DSH bundle 包。`skills/` 下是 34 个技能目录,插件按 **agent** 注册 provider:每个会话在自己的层里拿到一份目录,因此同名技能归本插件,目录内容也能随这个会话的工程变化。
|
|
8
|
+
|
|
9
|
+
- **技能就在本仓**:34 个技能目录在 `skills/` 里,编辑、新增、删除都在这里完成。
|
|
10
|
+
- **按 agent 注册**:`apply()` 监听 `agent/created` / `agent/disposed`,经 `agent.ctx` 把 provider 注册进该 agent 自己的层,而不是只注册一份全局 provider。
|
|
11
|
+
- **工程门控**:从会话工作目录向上找 `ProjectSettings/ProjectVersion.txt`,据此读 Editor 版本、`Packages/manifest.json` 里的包与渲染管线、Editor 是否打开、`unity` CLI 是否可用。
|
|
12
|
+
- **需求被真正执行**:技能声明的 `required_editor_version` / `required_packages` 不满足时,该技能离开模型的目录,但仍可用 `/技能名` 显式载入;事实未知时不会隐藏任何技能。
|
|
13
|
+
- **运行时上下文**:每个 agent 注入一条 `unity:project` 上下文,说明工程路径、Editor 版本、渲染管线、Editor/CLI 状态,以及本工程里被隐藏的技能与原因。
|
|
14
|
+
- **实时刷新**:`skills/` 被 `fs.watch` 监视;新增、删除或改 `SKILL.md` 会清空解析缓存并让各 agent 的目录缓存失效,不用重启。
|
|
15
|
+
- **一行插件、零运行时依赖**:`cordis.patch.yml` 只插入一个 Host 行 `unity-skills`;运行时只用 Node 内置模块,不依赖任何第三方包。仓库里的源码是 TypeScript,`npm pack`(`prepack`)时编译成 `lib/` 发布,因此按目录安装前要先构建一次,见[安装](#安装)。
|
|
16
|
+
- **设计说明**:为什么必须按 agent 注册、门控与降级的取舍,见 [docs/design.md](./docs/design.md)。
|
|
17
|
+
|
|
18
|
+
> 这些技能会直接改你的 Unity 工程(脚本、场景、资产);Unity CLI 可用时还会在打开的 Editor 里执行 C#。请先把工程纳入版本控制,再让 agent 动手。
|
|
19
|
+
|
|
20
|
+
## 功能
|
|
21
|
+
|
|
22
|
+
34 个技能,按主题分组,括号里是技能名。当前工程用不上的会被隐藏,见[技能何时出现](#技能何时出现项目门控)。
|
|
23
|
+
|
|
24
|
+
### UI 与编辑器工具(7)
|
|
25
|
+
|
|
26
|
+
- `ui` — UI 请求路由:先判断该用 UI Toolkit、uGUI 还是 IMGUI,并回答框架选型问题,写任何 UI 代码前先看它。
|
|
27
|
+
- `ui-uitk` — UI Toolkit:UXML/USS、flex 布局、UIElements、UIDocument、PanelSettings 与运行时绑定。
|
|
28
|
+
- `ui-ugui` — Canvas 层级、RectTransform、Layout Group 与 prefab UI 的读写。
|
|
29
|
+
- `ui-imgui` — 传统 IMGUI:EditorWindow、自定义 Inspector、PropertyDrawer、OnGUI 的生成与维护。
|
|
30
|
+
- `generate-editor-search-query` — 把"找出引用了某资产的对象"翻成 Unity Search 查询并打开搜索窗口。
|
|
31
|
+
- `asset-transformer-toolkit` — 用 Asset Transformer Toolkit(原 Pixyz)导入 3D 模型/点云,编写 RuleSet、Action 与 LOD。
|
|
32
|
+
- `build-gtk` — 用 Unity 6.6+ 的 Graph Toolkit 搭图编辑器、6.7+ 的状态机与运行时资产导入器。
|
|
33
|
+
|
|
34
|
+
### 2D、物理与场景(8)
|
|
35
|
+
|
|
36
|
+
- `2d-pixel-perfect` — PixelPerfectCamera 的配置、诊断与修复(URP / Built-in)。
|
|
37
|
+
- `create-2d-physics` — 2D Physics Core 与旧版 Rigidbody 2D 两套系统的创建与修复。
|
|
38
|
+
- `fix-3d-physics-collisions` — PhysX 碰撞、触发器、射线与 MeshCollider 问题的排查。
|
|
39
|
+
- `initialize-ai-navigation` — NavMesh 表面、Agent、障碍与 Link 的搭建,以及寻路与巡逻路线。
|
|
40
|
+
- `create-tile-palette-or-rule-tiles` — 从贴图生成瓦片调色板,或做随邻居变化的 Rule Tile。
|
|
41
|
+
- `manage-sprite-atlas` — 主/变体 SpriteAtlas、打包设置与平台覆盖,走 prebuild 管线。
|
|
42
|
+
- `sprite-editor` — 生成 C# 脚本修改 sprite 的 rect、border、pivot、outline 与切片。
|
|
43
|
+
- `sprite-segment-3x3grid` — 把 Sprite 切成 3×3 并分析各格的颜色分布。
|
|
44
|
+
|
|
45
|
+
### 音频、文本与性能优化(5)
|
|
46
|
+
|
|
47
|
+
- `audio-setup-mixers` — 把 Audio Source 按用途路由到 Audio Mixer Group。
|
|
48
|
+
- `optimize-audio` — 用导入设置与 Mixer 降音频内存/CPU,调 Load Type、采样率、编解码与 3D 声道路由。
|
|
49
|
+
- `optimize-text-mesh-pro` — TMP 字体资产栈、fallback 图集、SDF 质量、worldspace 文本与构建体积。
|
|
50
|
+
- `localize-unity-project` — Unity Localization:locale、String/Asset Table 与 CJK 字体。
|
|
51
|
+
- `optimize-web` — WebGL/WebGPU 构建体积、首屏加载与浏览器内性能。
|
|
52
|
+
|
|
53
|
+
### 渲染与 Shader(4)
|
|
54
|
+
|
|
55
|
+
- `migrate-birp-to-urp` — Built-in 渲染管线到 URP 的迁移方案、执行与视觉修复。
|
|
56
|
+
- `shader-graph-create-custom-node` — 从 HLSL 生成 Shader Graph 自定义节点。
|
|
57
|
+
- `urp-postprocessing` — 用 Volume 框架配置和排查 bloom、tonemapping、景深、暗角等后处理。
|
|
58
|
+
- `validate-urp-render-graph-renderer-feature` — 审查 Unity 6 URP 里使用 Render Graph 的 ScriptableRendererFeature。
|
|
59
|
+
|
|
60
|
+
### 多人、语音与商业化(5)
|
|
61
|
+
|
|
62
|
+
- `setup-multiplayer-services` — Unity Multiplayer Services:拓扑选择、托管、匹配与房间/大厅会话。
|
|
63
|
+
- `setup-vivox-voice-chat` — Vivox 语音与文字聊天:队伍频道、空间语音、静音、私信。
|
|
64
|
+
- `build-live-game` — Unity Gaming Services 后端:玩家进度、云存档、远程配置、成就、通行证与排行榜。
|
|
65
|
+
- `implement-in-app-purchases` — Unity IAP:商品目录、订阅、收据校验、恢复购买与 D2C。
|
|
66
|
+
- `levelplay-unity-integration` — LevelPlay 广告聚合:激励/插页/横幅、隐私配置与 iOS/Android 依赖问题。
|
|
67
|
+
|
|
68
|
+
### 项目与包管理(3)
|
|
69
|
+
|
|
70
|
+
- `new-unity-project` — 从概念、平台、变现到源码管理与包安装的新项目引导。
|
|
71
|
+
- `craft-game-floors` — 把原型做成"成品感":美术风格、灯光、手感、音效、菜单与存档。
|
|
72
|
+
- `unity-package-management` — 在 Editor 之外增删升级、查找 UPM 包(headless/CI)。
|
|
73
|
+
|
|
74
|
+
### 构建与管线(2)
|
|
75
|
+
|
|
76
|
+
- `unity-cli` — 用命令行控制 Editor 与工程:装 Editor、许可证、构建、测试、改场景、跑 C#。
|
|
77
|
+
- `unity-pipeline` — 通过 unity-pipeline 包编译、跑测试、eval、方法级热重载、进 Play Mode、截图。
|
|
78
|
+
|
|
79
|
+
## 安装
|
|
80
|
+
|
|
81
|
+
**前置**:一个可用的 DSH profile(Web / Desktop / CLI 均可),以及 Node.js 22.18+(推荐 24 LTS,`npm test` 与 `npm run validate` 直接运行 `.ts`,依赖 Node 内置的类型剥离)与 npm。源码是 TypeScript,包入口是编译后的 `lib/index.js`(与官方插件包的发布形态一致:仓库里是 `src/`,`npm pack` 时才编译出 `lib/`),所以**按目录安装前要先构建一次**:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
git clone https://github.com/AQian0/dsh-unity.git
|
|
85
|
+
cd dsh-unity
|
|
86
|
+
npm install # 只有 typescript 与 @types/node 两个开发依赖
|
|
87
|
+
npm run build # src/ → lib/*.js + lib/types/*.d.ts(不入库)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
运行时不依赖任何第三方包;构建产物也不需要额外安装。
|
|
91
|
+
|
|
92
|
+
**Web GUI**:打开左侧栏的「插件 / Plugins」页,安装时 spec 填本仓库的绝对路径(换成你自己的 checkout 路径):
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
/path/to/dsh-unity
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Profile 的 Settings 里那份插件列表是只读的,安装与启停都在「插件」页。
|
|
99
|
+
|
|
100
|
+
**Agent 侧**:调用 `plugin_manager`:
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
action: install_bundle
|
|
104
|
+
target: /path/to/dsh-unity
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
这个操作要求 full access 或审批。
|
|
108
|
+
|
|
109
|
+
安装会做两件事:在 profile 里加入 `@aqian0/dsh-unity` 这个 bundle,并在组合里插入 `unity-skills` 行(`config: {}`,即用默认配置)。确认方式:插件页出现「Unity 技能」(英文界面为 Unity skills),该 bundle 下能看到 `unity-skills` 行。
|
|
110
|
+
|
|
111
|
+
### 本地目录安装的行为
|
|
112
|
+
|
|
113
|
+
- 安装记录的是这个目录本身(本地目录依赖),不是把技能再复制一份;插件直接读这个 checkout 下的 `skills/`,所以编辑 `skills/` 之后不需要重装。
|
|
114
|
+
- **技能正文的改动下次加载即生效**:每次加载都会重读文件。
|
|
115
|
+
- **新增或删除技能目录、修改 frontmatter**:`skills/` 被监视,变更会清空解析缓存并让目录缓存失效,下一个会话步骤就能看到,不用重启。watcher 起不来时退回到"重启后生效"。
|
|
116
|
+
- **改 `src/` 里的代码**后要重新 `npm run build` 再重启 DSH;**替换已安装的包**(升级、换一个 checkout)同理。
|
|
117
|
+
- 插件装在 profile 上:安装与启停会把技能提供给该 profile 的**所有会话**(可见范围仍由各自的工程决定)。
|
|
118
|
+
|
|
119
|
+
## 使用
|
|
120
|
+
|
|
121
|
+
技能目录里只放名称和描述;模型判断当前请求需要某个技能时,才用 `skill` 工具加载它的正文,正文里引用的 `references/`、`scripts/`、`resources/` 中的文件再按需读取。
|
|
122
|
+
|
|
123
|
+
| 你说 | 会用到的技能 |
|
|
124
|
+
| --- | --- |
|
|
125
|
+
| "像素画在摄像机移动时又糊又抖" | `2d-pixel-perfect` |
|
|
126
|
+
| "做一个设置界面" | `ui` → `ui-uitk` / `ui-ugui` |
|
|
127
|
+
| "加内购,并用 LevelPlay 接激励视频广告" | `implement-in-app-purchases`、`levelplay-unity-integration` |
|
|
128
|
+
| "TextMeshPro 里中文显示成方框" | `optimize-text-mesh-pro`、`localize-unity-project` |
|
|
129
|
+
| "帮我检查这个 ScriptableRendererFeature 的 Render Graph 问题" | `validate-urp-render-graph-renderer-feature` |
|
|
130
|
+
|
|
131
|
+
也可以直接点名技能,例如"用 `unity-cli` 看看当前 Editor 连的是哪个工程"。被门控隐藏的技能不会出现在模型的目录里,但仍然可以这样按名字加载:不在 Unity 工程里时目录默认只剩 3 个起步技能(`workspaceSkills`),其余技能都只能通过显式点名使用。
|
|
132
|
+
|
|
133
|
+
## 配置
|
|
134
|
+
|
|
135
|
+
所有键都可选,写在 profile 的 `cordis.patch.yml` 里覆盖 `unity-skills` 行:
|
|
136
|
+
|
|
137
|
+
| 键 | 默认 | 说明 |
|
|
138
|
+
| --- | --- | --- |
|
|
139
|
+
| `providerName` | `unity` | 注册到 `ctx.skills` 的 provider 名,会标在技能候选上;不能为空,不能用保留名 `runtime` |
|
|
140
|
+
| `rank` | `240` | 同一层内的排序值;层内同名技能由"最近的层胜出"决定,这个值只用来排在同层 runtime 注册(250)之前 |
|
|
141
|
+
| `skillDir` | 包内 `skills/` | 技能目录;相对路径按进程 cwd 解析 |
|
|
142
|
+
| `exclude` | `[]` | 不加载的技能名,按目录名匹配 |
|
|
143
|
+
| `gateByProject` | `true` | 关掉后不再按工程筛选:不在 Unity 工程里也列出全部技能 |
|
|
144
|
+
| `workspaceSkills` | `[new-unity-project, unity-cli, unity-package-management]` | 不在 Unity 工程时仍出现在模型目录里的技能 |
|
|
145
|
+
| `enforceRequirements` | `true` | 关掉后不再执行 `required_editor_version` / `required_packages` |
|
|
146
|
+
| `injectContext` | `true` | 关掉后不再注入 `unity:project` 上下文行 |
|
|
147
|
+
| `watchSkills` | `true` | 关掉后不再监视 `skills/`,目录变更需要重启 |
|
|
148
|
+
| `respectProjectRoots` | `true` | 关掉后不再让工程自己的 `.dsh/skills`、`.agents/skills` 接管同名技能 |
|
|
149
|
+
|
|
150
|
+
```yaml
|
|
151
|
+
# profile 的 cordis.patch.yml
|
|
152
|
+
- id: unity-skills
|
|
153
|
+
name: '@aqian0/dsh-unity'
|
|
154
|
+
config:
|
|
155
|
+
exclude: [unity-pipeline] # 不加载 unity-pipeline
|
|
156
|
+
workspaceSkills: [unity-cli] # 非 Unity 工程里只留一个
|
|
157
|
+
gateByProject: false # 不做工程筛选
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
覆盖行用 `id: unity-skills` 定位 bundle 补丁里的那一行。配置是手写校验的:`providerName` 为空或写成 `runtime`、`rank` 不是有限数字、`skillDir` 为空、`exclude`/`workspaceSkills` 不是非空字符串数组、上面任何一个开关不是布尔值,都会让这一行加载失败并报错,不会静默忽略。改完配置后需要重新组成该行:重启 DSH 一定生效,开启 HMR 的 profile 也可能即时重组。
|
|
161
|
+
|
|
162
|
+
## 技能何时出现(项目门控)
|
|
163
|
+
|
|
164
|
+
### 注册位置
|
|
165
|
+
|
|
166
|
+
每个 agent 创建时,插件经 `agent.ctx` 把 provider 注册进**该 agent 自己的层**。DSH 的合并规则是"最近的层直接胜出,rank 只在同一层内比较",所以:
|
|
167
|
+
|
|
168
|
+
| 情况 | 结果 |
|
|
169
|
+
| --- | --- |
|
|
170
|
+
| 与工程自己的 `<工程>/.dsh/skills`、`.agents/skills` 同名 | 插件不提供该名字,工程那份生效(`respectProjectRoots`) |
|
|
171
|
+
| 与 `~/.dsh/skills`、`~/.agents/skills` 等外部副本同名 | 插件在 agent 自己的层里,最近层胜出——插件赢 |
|
|
172
|
+
| 与同层 runtime 注册(rank 250)同名 | 同层内按 rank:本插件 240 排在前面 |
|
|
173
|
+
| 组合里根本没有安装插件(或它被禁用) | 这些技能不存在 |
|
|
174
|
+
|
|
175
|
+
上表第二行不是特例,而是层规则的直接结果:插件把 provider 注册进 agent 自己的层,比任何全局层或外部根都近,"最近的层胜出"与 `rank` 无关,所以外部目录里的同名副本盖不掉插件的版本。
|
|
176
|
+
|
|
177
|
+
### 工程检测与可见性
|
|
178
|
+
|
|
179
|
+
会话工作目录可以是工程里的任意子目录,插件向上最多 8 级寻找 `ProjectSettings/ProjectVersion.txt`,找到的目录即工程根;随后读:
|
|
180
|
+
|
|
181
|
+
- `ProjectSettings/ProjectVersion.txt` 的 `m_EditorVersion:`;
|
|
182
|
+
- `Packages/manifest.json` 的 `dependencies`(包 id → 版本),并据此推断渲染管线(HDRP / URP / Built-in);
|
|
183
|
+
- `Temp/UnityLockfile` 是否存在(Editor 是否正开着这个工程);
|
|
184
|
+
- `unity` 是否在 PATH 上(通过 `ctx.subprocess.resolveExecutable`)。
|
|
185
|
+
|
|
186
|
+
这些事实按工作目录缓存 2 秒:缓存过期后的下一次查询会重新检测,如果工程事实变了(Editor 版本、包、工程根),就让目录缓存失效并重新门控。
|
|
187
|
+
|
|
188
|
+
| 会话所在 | 模型的技能目录 |
|
|
189
|
+
| --- | --- |
|
|
190
|
+
| 不在 Unity 工程里 | 只有 `workspaceSkills`(默认 3 个:`new-unity-project`、`unity-cli`、`unity-package-management`) |
|
|
191
|
+
| 在 Unity 工程里,技能要求都满足 | 该技能可见 |
|
|
192
|
+
| 在 Unity 工程里,技能要求不满足 | 该技能离开模型目录,但仍可用 `/技能名` 载入 |
|
|
193
|
+
| 工程自己提供了同名技能 | 插件不提供该名字 |
|
|
194
|
+
|
|
195
|
+
### 需求表
|
|
196
|
+
|
|
197
|
+
技能 frontmatter 里声明的需求会被实际执行(`enforceRequirements`)。当前有需求的技能:
|
|
198
|
+
|
|
199
|
+
| 技能 | 要求 |
|
|
200
|
+
| --- | --- |
|
|
201
|
+
| `build-gtk` | Editor `>=6000.6` |
|
|
202
|
+
| `fix-3d-physics-collisions` | Editor `>=6000.3` |
|
|
203
|
+
| `asset-transformer-toolkit` | `com.unity.industry.toolkit >=4.0.0` |
|
|
204
|
+
| `create-tile-palette-or-rule-tiles` | `com.unity.2d.tilemap >=1.0.0`、`com.unity.2d.tilemap.extras >=4.0.0` |
|
|
205
|
+
| `setup-vivox-voice-chat` | `com.unity.services.vivox >=16.4.0` |
|
|
206
|
+
| `shader-graph-create-custom-node` | `com.unity.shadergraph >=17.5.0` |
|
|
207
|
+
| `urp-postprocessing` | `com.unity.render-pipelines.universal >=14.0.0` |
|
|
208
|
+
|
|
209
|
+
版本范围支持 `>=`、`>`、`<=`、`<`、`=`、`^`、`~`,可以逗号或空格分隔,也可以写 `>= 6000.6`;两段版本(如 `6000.6`)表示那一条发布线,三段版本表示精确版本。**事实未知时不隐藏技能**:manifest 缺失、版本或范围解析不了时技能照常显示,也不会产生隐藏提示。
|
|
210
|
+
|
|
211
|
+
### 运行时上下文
|
|
212
|
+
|
|
213
|
+
每个 agent 拿到一条 `unity:project` 上下文(`order: 180`,每次组装提示词时重算):
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
Unity project: /path/to/project (Editor 6000.3.14f1, URP, Editor open, unity CLI available). skills hidden for this project: asset-transformer-toolkit (missing package com.unity.industry.toolkit >=4.0.0), build-gtk (needs Unity >=6000.6 (project 6000.3.14f1)), …
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
隐藏技能最多列 6 条,其余写 `and N more`;不在 Unity 工程里时这段为空,由提示词渲染器整条丢弃。上下文里的原因与目录里隐藏的技能一一对应:缺哪个包、要求什么版本、工程实际是什么版本。
|
|
220
|
+
|
|
221
|
+
## 开发与验证
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
npm install # 安装 typescript 与 @types/node
|
|
225
|
+
npm run build # 编译 src/ → lib/(发布产物,不入库)
|
|
226
|
+
npm run typecheck # 用 tsconfig.test.json 检查 src/、test/、scripts/
|
|
227
|
+
npm test # 单元测试:直接跑 TypeScript(Node 内置类型剥离)
|
|
228
|
+
npm run validate # 技能合规性:结构、frontmatter、需求字段、正文体积、资源引用
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
`npm run validate` 检查的是:技能目录里有 `SKILL.md`、frontmatter 能解析、名称是 kebab-case 且与目录一致、描述非空且不含 `<`/`>`、名称唯一、正文非空、`required_*` 需求字段能解析、`SKILL.md` 不超过 16384 字节(超过即告警,见下节)、provider 能 `list()` 与 `load()` 出全部技能、以及正文里技能相对路径的资源引用在磁盘上存在。失败退出码 1;警告不影响退出码。脚本会打印本次检查的技能数、资源引用数与最大的 `SKILL.md`,这些数字随技能内容变化,以实际输出为准。
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
node scripts/validate-skills.ts --report /tmp/skill-audit.md # 另外写一份 Markdown 报告
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### CI 与发布
|
|
238
|
+
|
|
239
|
+
- `.github/workflows/ci.yml`:push 到 `main`、PR 与手动触发时,在 Node 22.18 与 24 上跑
|
|
240
|
+
`npm run typecheck`、`npm test`、`npm run validate`,构建后对 `npm pack` 的清单做冒烟检查。
|
|
241
|
+
- `.github/workflows/release.yml`:推 `v<version>` tag 时校验 tag 与 `package.json` 版本一致、
|
|
242
|
+
提交在 `main` 上,重跑门禁并校验 tarball,然后用 npm 可信发布(GitHub OIDC,无需
|
|
243
|
+
`NPM_TOKEN`)发布到 npm 并创建 GitHub Release;首次发布与 trusted publisher 的配置见
|
|
244
|
+
workflow 顶部注释。
|
|
245
|
+
|
|
246
|
+
安装后也可以直接看:
|
|
247
|
+
|
|
248
|
+
- 插件页里的「Unity 技能」与 `unity-skills` 行;
|
|
249
|
+
- 非 Unity 目录的新会话里问一句"你有哪些 Unity 技能",应只剩 3 个;把会话切到 Unity 工程后应看到更多;
|
|
250
|
+
- 在 Unity 工程里发一个请求(例如"给设置界面加一个音效滑杆"),工具结果里会出现 `skill` 加载记录,上下文里能看到 `Unity project: …`;
|
|
251
|
+
- 在 `skills/` 里新建或删除一个技能目录,下一个会话步骤就能看到目录变化,不用重启。
|
|
252
|
+
|
|
253
|
+
## 已知限制
|
|
254
|
+
|
|
255
|
+
- **正文体积有硬约束**:载入的 `SKILL.md` 是工具结果,压缩(compaction)在超过 8192 字符时会裁剪,所以 `SKILL.md` 只做路由——判断、步骤、指向 `references/` 的链接;细节都放在 `references/` 里按需读取。34 个 `SKILL.md` 都按这个结构控制在远小于 16384 字节的规模,校验脚本在超过 16384 字节时告警。新增或改写技能时请沿用这个结构,否则该技能在长会话里会被裁断。
|
|
256
|
+
- **文件监视有边界**:watcher 只关心 `SKILL.md` 的变化(新增、删除、改名、编辑),并按 200ms 防抖合并突发写入;`references/` 等资源文件靠加载时读取,不需要刷新。平台或沙箱不允许监视时,会记录一条警告并退回"重启后生效"。
|
|
257
|
+
- **回退到全局 provider 时会退步**:如果某个 profile 里 `agent.ctx` 够不到 `skills`(或没有 `agents` 服务),插件只注册一份全局 provider,并记录一条警告。这条路径仍按每次查询的 `cwd` 做工程门控,但没有 `unity:project` 上下文,且同名的预设层技能会重新胜出。
|
|
258
|
+
- **非 Unity 会话只提供 3 个技能**:默认 `workspaceSkills` 是 `new-unity-project`、`unity-cli`、`unity-package-management`;需要别的技能就显式点名,或用 `workspaceSkills` 调整。
|
|
259
|
+
- **隐藏不等于不可用**:被门控隐藏的技能只是离开模型目录,`/技能名` 仍能载入——如果它确实不适用于当前工程,责任在使用者。
|
|
260
|
+
- **非标准 frontmatter 字段只被容忍或部分执行**:`required_editor_version`、`required_packages` 已执行;`allowed-tools`、`modes`、`enabled` 仍只解析不执行(DSH 没有对应机制)。`metadata` 只做透传。校验脚本把这些列成信息项。
|
|
261
|
+
- **技能会直接改工程**:编辑脚本、场景和资产;Unity CLI 可用时在打开的 Editor 里跑 C#。不是所有改动都能在 Editor 里撤销,先用版本控制。
|
|
262
|
+
- **`exclude` 按目录名匹配**:本包 34 个技能的目录名与 frontmatter `name` 全部一致(校验脚本会检查);若将来出现不一致,`exclude` 仍以目录名为准。
|
|
263
|
+
- **profile 级改动**:安装与启停影响该 profile 的所有会话;替换已安装的包需要重启 DSH。
|
|
264
|
+
- **入口是技能目录与 `skill` 工具**:插件本身不额外注册斜杠菜单或提示词入口;`/技能名` 的显式调用来自 DSH 的技能机制,不是本包新增的入口。
|
|
265
|
+
- **构建产物不入库**:`lib/` 是 `npm run build` 的输出并被 `.gitignore` 忽略;按目录安装前必须先构建,否则插件行会因为找不到 `lib/index.js` 而加载失败。
|
|
266
|
+
|
|
267
|
+
## 许可证
|
|
268
|
+
|
|
269
|
+
本包按路径分属三套许可证,逐路径的清单见 [NOTICE.md](./NOTICE.md)。
|
|
270
|
+
|
|
271
|
+
- **整合代码(MIT)**:插件源码、测试、脚本、配置与文档(`src/`、`test/`、`scripts/`、`cordis.patch.yml`、`locale/`、`README.md`、`docs/` 等)以 MIT 许可发布,全文见 [LICENSE.md](./LICENSE.md)。
|
|
272
|
+
- **插件图标(ISC)**:`icon.svg` 使用 [Lucide](https://lucide.dev) 的 `gamepad-2` 图形(缩放、改色后置于圆角底板上),按其 ISC 许可证使用,版权声明与许可文本见 [NOTICE.md](./NOTICE.md)。
|
|
273
|
+
- **技能内容(Unity Companion License)**:`skills/` 下的技能正文与随附资源版权属于 Unity Technologies,按 Unity Companion License 使用,全文见 [LICENSE-UNITY-COMPANION.md](./LICENSE-UNITY-COMPANION.md)。该许可证要求持有有效的 Unity Engine License,且不授予商标权利。
|
|
274
|
+
- **标识**:本包不使用 Unity 徽标或其他 Unity 品牌资产,只在描述兼容性与内容来源时以文字提及 Unity;Unity 的名称与徽标属于 Unity Technologies,相关使用遵循 [Unity 品牌指南](https://unity.com/legal/branding-trademarks)。本包非 Unity Technologies 或其关联公司赞助或认可,与 Unity 没有隶属关系。
|
package/cordis.patch.yml
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# dsh-unity bundle patch.
|
|
2
|
+
#
|
|
3
|
+
# One row: the Host plugin that manages this package's 34 Unity skills. The
|
|
4
|
+
# plugin registers a provider per agent through `agent.ctx`, so every session
|
|
5
|
+
# gets the skills its own Unity project supports; `skills/` is this package's
|
|
6
|
+
# content.
|
|
7
|
+
#
|
|
8
|
+
# The row needs no config. Defaults: providerName "unity"; rank 240, which only
|
|
9
|
+
# orders this provider against runtime registrations in the same layer; project
|
|
10
|
+
# gating on, leaving three workspace skills visible outside a Unity project;
|
|
11
|
+
# requirement enforcement, runtime context, and skill watching on; project skill
|
|
12
|
+
# roots taking precedence over this package. Override the row to change them:
|
|
13
|
+
#
|
|
14
|
+
# - id: unity-skills
|
|
15
|
+
# name: '@aqian0/dsh-unity'
|
|
16
|
+
# config:
|
|
17
|
+
# workspaceSkills: [unity-cli]
|
|
18
|
+
# exclude: [unity-pipeline]
|
|
19
|
+
- insert:
|
|
20
|
+
- id: unity-skills
|
|
21
|
+
name: '@aqian0/dsh-unity'
|
|
22
|
+
config: {}
|