Agent skill
Unity Rapid Proto
Prototypage instantane de gameplay Unity. Triggers: /proto, /prototype, 'prototyper', 'idee de jeu', 'tester une mechanique', 'rapid proto'. Transforme une idee de gameplay en scene jouable avec le minimum de code. Produit 1-3 scripts MonoBehaviour, les instructions de setup scene, et une checklist de test. Aucune architecture, aucun planning -- juste du code jouable.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/unity-rapid-proto
SKILL.md
Unity Rapid Proto
Ce que fait cette skill
Transforme une idee de gameplay brute en prototype jouable Unity. Pas de GDD, pas de planning, pas d'architecture. On va droit au code minimum pour tester la mechanique.
Produit :
- 1 a 3 scripts C# (MonoBehaviour uniquement)
- Les instructions de setup scene (hierarchy, components, valeurs)
- Une checklist "press Play" pour verifier que ca marche
Prerequis
- Projet Unity existant
- Un dossier
Assets/Prototypes/(sera cree si absent) - Connaissance du concept a prototyper en 1-2 phrases
Arbre de decision
Type de prototype ?
|
+-- 3D gameplay ?
| +-- Deplacement + exploration --> Template 3D Platformer
| +-- Tir / combat --> Template FPS
| +-- Placement strategique --> Template Tower Defense
| +-- Course automatique --> Template Runner / Endless
|
+-- 2D gameplay ?
| +-- Deplacement top-down --> Template Top-Down 2D
| +-- Puzzle / grille --> Template Puzzle (grid-based)
| +-- Platformer 2D --> Adapter Template 3D Platformer en 2D
|
+-- Pas sur ?
+-- Commencer en 3D (plus visuel, plus facile a debloquer)
Demarrage rapide
- L'utilisateur decrit son idee en 1-2 phrases
- Identifier LA mechanique centrale
- Generer les scripts (max 3, max 100 lignes chacun)
- Ecrire les instructions de setup scene
- Fournir la checklist de test
Guide etape par etape
Etape 1 : Comprendre l'idee
Demander a l'utilisateur de decrire son idee en 1-2 phrases maximum. Ne PAS demander de details supplementaires. Ne PAS produire de document de design.
Extraire :
- Le verbe principal (sauter, tirer, placer, esquiver, collecter)
- Le contexte spatial (2D/3D, vue camera)
- La condition de fin (score, timer, survie, puzzle resolu)
Etape 2 : Identifier la mechanique core
Choisir UNE seule mechanique a prototyper. Si l'idee contient plusieurs mecaniques, prendre celle qui definit le gameplay loop principal.
Exemples de reduction :
- "Un jeu ou on construit des tours pour defendre une base contre des vagues d'ennemis" -> Mechanique core : placement de tourelles + path following
- "Un platformer avec des pouvoirs magiques et du crafting" -> Mechanique core : mouvement + saut (le reste viendra apres)
- "Un FPS multijoueur avec des classes" -> Mechanique core : deplacement + tir raycast
Etape 3 : Generer le code minimal
Structure type :
PlayerController.cs: mouvement + action principale (max 80 lignes)- 1-2 scripts gameplay selon le besoin (max 60 lignes chacun)
Regles de code :
- MonoBehaviour uniquement, pas de ScriptableObject
- Input.GetKey / Input.GetAxis (ancien systeme, plus simple)
- Valeurs hardcodees (pas de SerializeField sauf si vraiment utile)
- Visuels = primitives Unity (Cube, Sphere, Capsule, Plane)
- Pas de namespace, pas de pattern, pas d'event system
- Un seul fichier = une seule responsabilite evidente
- 1 commentaire par bloc non-evident, pas plus
Note Input System (Unity 6+) : Si le projet utilise le New Input System (defaut dans Unity 6), remplacer les appels
Input.*:
Input.GetKey(KeyCode.Space)→Keyboard.current[Key.Space].isPressedInput.GetKeyDown(KeyCode.Space)→Keyboard.current[Key.Space].wasPressedThisFrameInput.GetAxis("Horizontal")→Gamepad.current.leftStick.x.ReadValue()ou InputActionInput.GetMouseButton(0)→Mouse.current.leftButton.isPressedPour un prototype rapide, le old Input Manager reste plus simple. Verifier
Edit > Project Settings > Player > Active Input Handling.
Etape 4 : Ecrire les instructions de setup
Fournir dans cet ordre exact :
- Scene : creer une nouvelle scene ou utiliser SampleScene
- Objets a creer (avec nom, primitive, position, scale)
- Components a ajouter sur chaque objet
- Hierarchy parent/enfant si necessaire
- Tags et Layers necessaires
- Camera setup (position, rotation)
Format :
## Setup Scene
1. Creer un objet **Player** : Capsule a position (0, 1, 0)
- Ajouter `PlayerController.cs`
- Ajouter Rigidbody (Use Gravity: true, Freeze Rotation X/Z)
2. Creer un objet **Ground** : Plane a position (0, 0, 0), scale (5, 1, 5)
- Tag: "Ground"
Etape 5 : Checklist "press Play"
Lister exactement ce qui doit se passer quand on appuie sur Play :
## Test checklist
- [ ] Le joueur se deplace avec WASD/fleches
- [ ] Le joueur saute avec Space et retombe
- [ ] Les ennemis apparaissent toutes les 3 secondes
- [ ] Le score augmente quand on touche un ennemi
- [ ] Game Over s'affiche quand la vie atteint 0
Templates par genre
6 templates pre-configures dans references/proto-templates.md :
| Genre | Scripts | Objets cles |
|---|---|---|
| 3D Platformer | PlayerController + MovingPlatform | Capsule + CharacterController, Planes, Cubes |
| FPS | FPSController + EnemyHealth + Spawner | Capsule + Camera enfant, Cubes rouges |
| Top-Down 2D | PlayerMovement2D + Bullet + EnemyPatrol2D | Sprites, Rigidbody2D, Camera ortho |
| Puzzle (grid) | GridManager + Tile | Quads generes, UI Text victoire |
| Runner / Endless | RunnerPlayer + ObstacleSpawner + ScoreManager | Capsule auto-avance, 3 lanes |
| Tower Defense | Turret + EnemyPath + TurretPlacer | Waypoints, OverlapSphere, InvokeRepeating |
Skills connexes
- Le prototype fonctionne et on veut passer en production ? Utiliser
/unity-code-gen(Unity Code Gen) pour restructurer avec les bons patterns - Bug dans le prototype ? Utiliser
/unity-debug(Unity Debug) - Besoin d'un shader custom pour le prototype ? Utiliser
/shader(Unity Shader Generator) - Prototype 2D (platformer, top-down) ? Utiliser
/2d(Unity 2D) pour les patterns detailles
Regles strictes
TOUJOURS :
- Utiliser des primitives Unity pour les visuels (Cube, Sphere, Capsule, Plane)
- Inclure une condition de victoire/defaite ou un feedback loop
- Utiliser
Input.GetKey/Input.GetAxis(ancien input system) - Garder les valeurs hardcodees (vitesse, vie, degats)
- Ecrire le code dans
Assets/Prototypes/<NomPrototype>/ - Tester mentalement chaque script : est-ce que ca compile ? est-ce que ca fait quelque chose de visible ?
JAMAIS :
- Plus de 3 scripts par prototype
- Plus de 100 lignes par script (80 pour le PlayerController)
- D'architecture : pas de SO, pas d'events, pas de managers, pas de singletons
- De documentation ou README
- De commentaires abondants (1 ligne par bloc non-evident maximum)
- De SerializeField sauf si absolument necessaire pour le workflow scene
- De namespace, d'interface, de classe abstraite, de generics
- D'asset externe, de package additionnel, d'Asset Store
Troubleshooting
| Probleme | Solution |
|---|---|
| Le joueur ne bouge pas | Verifier que le script est attache au bon GameObject. Verifier que CharacterController ou Rigidbody est present. |
| Le joueur tombe a travers le sol | Verifier que le sol a un Collider. Verifier que le joueur a un Collider + Rigidbody (ou CharacterController). |
| Le saut ne fonctionne pas | Verifier le ground check : le raycast doit pointer vers Vector3.down avec une distance legerement superieure a la moitie de la hauteur du joueur. |
| Les collisions ne detectent pas | Verifier qu'au moins un des deux objets a un Rigidbody. Si on utilise OnTriggerEnter, le Collider doit etre marque "Is Trigger". |
| La camera tremble | Deplacer la logique camera dans LateUpdate au lieu de Update. |
| Les ennemis n'apparaissent pas | Verifier que le prefab est assigne ou que Instantiate utilise le bon reference. Verifier que InvokeRepeating est appele dans Start. |
| Le score ne s'affiche pas | Verifier la reference au Text ou TextMeshProUGUI. Verifier que le Canvas a un EventSystem. |
| Le prototype est trop lent | Supprimer les Debug.Log dans Update. Verifier qu'on ne fait pas d'Instantiate/Destroy massif (passer a un pool basique si necessaire). |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?