본문으로 건너뛰기
cccskills
무료GitHub에 공개

uw-unity-feature-scaffold

Create a complete feature module with folder structure, Assembly Definition (.asmdef), test assembly, and namespace. Use when adding a new feature, system, or module to a Unity project. Triggers on requests like "create a new feature", "scaffold a module", "add a combat system", "I need a health system", "set up inventory", "create a new module for X", "add a new system", "new feature folder", or any task requiring new folders, assemblies, or namespaces for a gameplay feature — even when the user just names a system they want to build from scratch. Reads ProjectConfig.yaml for folder_strategy and MCP availability.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Unity
설치 방법 보기

포함된 파일(1)

  • SKILL.md5.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Unity Feature Scaffold

Generate a feature module with folders, assembly definitions, and a starter class based on docs/ProjectConfig.yaml.

Before You Start

  1. Read docs/ProjectConfig.yaml for:
    • project_name — derive root namespace by converting to PascalCase (e.g., "my cool game" → MyCoolGame)
    • folder_strategy — "feature-based" or "type-based"
    • architecture_pattern — "so-first" or "di-first" (informs post-scaffold next steps)
    • mcp.unity_mcp — if true, call refresh_unity after creating files
  2. Ask the user for the feature name (PascalCase, e.g., Combat, PlayerMovement, Inventory).
  3. Derive the namespace: {RootNamespace}.{FeatureName} (e.g., MyCoolGame.Combat).
  4. Confirm the namespace with the user before generating files.

Folder Structures

Feature-based (folder_strategy: "feature-based"):

Assets/_Project/Features/{FeatureName}/
├── Scripts/
│   ├── {RootNamespace}.{FeatureName}.asmdef
│   └── {FeatureName}Manager.cs
├── Data/
└── Tests/
    └── {RootNamespace}.{FeatureName}.Tests.asmdef

Type-based (folder_strategy: "type-based"):

Assets/_Project/Scripts/{FeatureName}/
├── {RootNamespace}.{FeatureName}.asmdef
└── {FeatureName}Manager.cs
Assets/_Project/Tests/{FeatureName}/
└── {RootNamespace}.{FeatureName}.Tests.asmdef

Assembly Definition Templates

Feature asmdef

File: {RootNamespace}.{FeatureName}.asmdef

{
    "name": "{RootNamespace}.{FeatureName}",
    "rootNamespace": "{RootNamespace}.{FeatureName}",
    "references": [
        "GUID:{CoreAsmdefGUID}"
    ],
    "includePlatforms": [],
    "excludePlatforms": [],
    "allowUnsafeCode": false,
    "overrideReferences": false,
    "precompiledReferences": [],
    "autoReferenced": true,
    "defineConstraints": [],
    "versionDefines": [],
    "noEngineReferences": false
}

Test asmdef

File: {RootNamespace}.{FeatureName}.Tests.asmdef

{
    "name": "{RootNamespace}.{FeatureName}.Tests",
    "rootNamespace": "{RootNamespace}.{FeatureName}.Tests",
    "references": [
        "GUID:{FeatureAsmdefGUID}",
        "UnityEngine.TestRunner",
        "UnityEditor.TestRunner"
    ],
    "includePlatforms": [
        "Editor"
    ],
    "excludePlatforms": [],
    "allowUnsafeCode": false,
    "overrideReferences": true,
    "precompiledReferences": [
        "nunit.framework.dll"
    ],
    "autoReferenced": false,
    "defineConstraints": [
        "UNITY_INCLUDE_TESTS"
    ],
    "versionDefines": [],
    "noEngineReferences": false
}

GUID references: Read the GUID from the target .asmdef.meta file (the guid field on line 2). Use GUID: prefix for robustness against renames. Fall back to the string name (e.g., "{RootNamespace}.Core") if the .meta file isn't accessible.

Starter File

File: {FeatureName}Manager.cs

using UnityEngine;

namespace {RootNamespace}.{FeatureName}
{
    public class {FeatureName}Manager : MonoBehaviour
    {
    }
}

This is a minimal entry point. The actual class name and base type should be adjusted to fit the feature — not every feature needs a MonoBehaviour manager.

Cross-Feature References

When Feature B depends on Feature A, add Feature A's asmdef GUID to Feature B's references array. Read the GUID from Feature A's .asmdef.meta file — never modify .meta files directly.

Keep dependencies one-directional. If two features need to communicate bidirectionally, extract shared interfaces or event channels into {RootNamespace}.Core (see uw-scriptable-object-arch for event channel patterns).

After Scaffolding

  • Write tests: Use uw-unity-test-runner — the test asmdef is already configured.
  • Add architecture patterns: Use uw-scriptable-object-arch (SO-first) or uw-dependency-injection (DI-first) based on ProjectConfig.yaml → architecture_pattern.
  • Create editor tools: Use uw-unity-editor-tools for custom inspectors or editor windows alongside the feature.

Rules

  • All scripts must live inside an .asmdef.
  • All paths start with Assets/_Project/ to avoid Asset Store conflicts.
  • Never create, modify, or delete .meta files — Unity generates them automatically.
  • Asmdef file names use dot notation: {RootNamespace}.{FeatureName}.asmdef (per NAMING_CONVENTIONS.md).
  • If ProjectConfig.yaml → mcp.unity_mcp is true, call refresh_unity after creating files. Otherwise, instruct the user to return to Unity Editor for auto-refresh.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

adopt

무료

Brownfield onboarding — audits existing project artifacts for template format compliance (not just existence), classifies gaps by impact, and produces a numbered migration plan. Run this when joining an in-progress project or upgrading from an older template version. Distinct from /project-stage-detect (which checks what exists) — this checks whether what exists will actually work with the template's skills.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

IdoCohen560/claude-unity-game-studio222026년 7월 8일 업데이트

Creates an Architecture Decision Record (ADR) documenting a significant technical decision, its context, alternatives considered, and consequences. Every major technical choice should have an ADR.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

IdoCohen560/claude-unity-game-studio222026년 7월 8일 업데이트

Validates completeness and consistency of the project architecture against all GDDs. Builds a traceability matrix mapping every GDD technical requirement to ADRs, identifies coverage gaps, detects cross-ADR conflicts, verifies engine compatibility consistency across all decisions, and produces a PASS/CONCERNS/FAIL verdict. The architecture equivalent of /design-review.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

IdoCohen560/claude-unity-game-studio222026년 7월 8일 업데이트

art-bible

무료

Guided, section-by-section Art Bible authoring. Creates the visual identity specification that gates all asset production. Run after /brainstorm is approved and before /map-systems or any GDD authoring begins.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

IdoCohen560/claude-unity-game-studio222026년 7월 8일 업데이트

Audits game assets for compliance with naming conventions, file size budgets, format standards, and pipeline requirements. Identifies orphaned assets, missing references, and standard violations.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

IdoCohen560/claude-unity-game-studio222026년 7월 8일 업데이트

Generate per-asset visual specifications and AI generation prompts from GDDs, level docs, or character profiles. Produces structured spec files and updates the master asset manifest. Run after art bible and GDD/level design are approved, before production begins.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

IdoCohen560/claude-unity-game-studio222026년 7월 8일 업데이트

IdoCohen560의 스킬 모두 보기

이 스킬의 문제 신고