unity-component-design
Use when designing new Unity components (MonoBehaviours, ScriptableObjects, systems). Ensures proper architecture before writing code.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
Unity Component Design
Overview
Design Unity components properly BEFORE writing code. Good architecture prevents rewrites.
When to Use
- Creating new MonoBehaviour classes
- Designing ScriptableObject data structures
- Building new game systems
- Refactoring existing components
The Process
Phase 1: Requirements Gathering
Ask these questions:
- What problem does this component solve?
- What data does it need?
- What other systems does it interact with?
- What events should it emit/receive?
- Does similar functionality exist already?
Phase 2: Architecture Decision
Choose the right type:
| Use Case | Type |
|---|---|
| Needs lifecycle (Update, Start) | MonoBehaviour |
| Static game data (monster stats) | ScriptableObject |
| Pure logic, no Unity dependencies | C# class |
| Shared state across scenes | Singleton MonoBehaviour |
| One-off data container | [System.Serializable] class |
Phase 3: Design the Component
Use the unity-architect agent:
Task: Launch unity-architect agent with:
"Design a [component type] for [purpose] that [requirements]"
The agent will provide:
- Namespace and file location
- Fields with types and attributes
- Methods and their signatures
- Events to emit
- Dependencies to inject
- Inspector setup requirements
Phase 4: Validate Design
Checklist before coding:
- Follows VeilBreakers namespace convention
- Uses [SerializeField] private, not public fields
- Has [RequireComponent] for dependencies
- Events have corresponding unsubscribe logic
- No Find() or GetComponent() in hot paths
- ScriptableObjects for config, not hardcoded values
Phase 5: Create Implementation Plan
Break into tasks:
- Create the file with class skeleton
- Add fields and serialization
- Implement lifecycle methods
- Add public API
- Wire up events
- Write tests (if applicable)
- Create prefab (if applicable)
Quick Reference
| VeilBreakers System | Namespace | Base Class |
|---|---|---|
| Combat | VeilBreakers.Combat | MonoBehaviour or ScriptableObject |
| UI | VeilBreakers.UI | MonoBehaviour |
| Data | VeilBreakers.Data | ScriptableObject |
| Core | VeilBreakers.Core | MonoBehaviour (singleton) |
| Utils | VeilBreakers.Utils | Static class |
Related Skills
-
superpowers:brainstorming- For exploring requirements -
superpowers:writing-plans- For implementation planning
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-01-26
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!