← Zurück zum Blog

Ein 3D-RPG mit Unity MCP erstellen: Third-Person-Steuerung, Kampf und Quests

Eine praktische Unity-MCP-Anleitung für einen spielbaren 3D-RPG-Prototypen – Third-Person-Bewegung, Echtzeit-Nahkampf, Gegner-Zustandsmaschinen und Quest-Verdrahtung in Cursor oder anderen MCP-KI-IDEs. UI später polieren, wenn nötig.

Veröffentlicht
  • Unity MCP
  • 3D RPG
  • Unity
  • combat
  • AI game development

Ein demoreifer 3D-RPG-Prototyp benötigt normalerweise zuerst diese Teile: einstellbare Third-Person-Bewegung und Kamera, eine Echtzeit-Nahkampfschleife, einen Gegner mit einer kleinen Zustandsmaschine, eine auslösbare Quest oder einen Dialog sowie ein HUD, das Gesundheit oder Questfortschritt anzeigt. Dieser Leitfaden folgt dieser Build-Reihenfolge. Angenommen wird, dass Sie ein offenes Unity-Projekt von Cursor, Claude Code, Codex oder einer anderen MCP-fähigen KI-IDE über Unity MCP steuern – Szenen, GameObjects und C# lesen und schreiben, nicht nur Dateien auf die Festplatte kopieren.

Installieren und verbinden: Unity MCP Installationsanleitung. Unterstützte Editor-Versionen folgen der Produktseite (üblicherweise Unity 2022.3+ / Unity 6).

Ein minimales spielbares Stück abgrenzen

Liefern Sie v1 nur aus, wenn Sie Folgendes akzeptieren können:

  1. WASD-Bewegung, Mausblick, Springen; Boden und sanfte Hänge fühlen sich stabil an
  2. Ein Nahkampfangriff (Platzhalter-Animation in Ordnung), der einen Collider trifft und Schaden verursacht
  3. Ein Gegner: Patrouillieren → Spieler erkennen → verfolgen / angreifen; bei Tod deaktivieren oder zerstören
  4. Ein NPC: Annähern zum Reden oder Annehmen einer Quest; Ziel „Besiege diesen Gegner“, dann Log aktualisieren
  5. Einfaches HUD: Gesundheitsbalken + eine Questzeile

Blockieren Sie Kunst mit Primitiven, falls nötig. Behandeln Sie Hauptmenü, Inventarraster, poliertes HUD als spätere UI-Phase (siehe unten).

Projekt- und MCP-Bereitschaft

Vor Gameplay-Prompts:

  • Unity-Projekt geöffnet; Zielszene kann in Play gehen
  • Unity MCP Server läuft; die KI-IDE kann Hierarchie-Wurzeln auflisten (Read-only-Smoke-Test)
  • Basis-Commit durchgeführt; vor großen Änderungen erneut committen

Read-only-Check:

Listen Sie Root-GameObjects in der aktiven Szene auf. Ändern Sie nichts.

Erst dann schreiben. Halten Sie die Brücke auf localhost – setzen Sie den Port nicht öffentlich aus. Prompt-Craft: Unity MCP mit Claude Code und Cursor.

Spieler: Third-Person-Steuerung zuerst

Minimales Grundgerüst (umbenennen, passend zu Ihrem Projekt):

Player
├── CharacterController oder Rigidbody + CapsuleCollider
├── CameraPivot (Gieren)
│   └── CameraArm (Nicken) → Main Camera
└── AttackHitbox (Trigger, standardmäßig aus)

Seien Sie explizit bei Eingabe, Kamera und Pfaden:

Erstellen Sie Assets/Scripts/Player/PlayerController.cs: Third-Person; WASD relativ zur Kameraausrichtung; Maus-Gieren/Nicken (Nicken begrenzt auf −30°–60°); Leertaste zum Springen; an Player anhängen. Bodenkontakt über CharacterController.isGrounded oder Äquivalent.

Dann das Gefühl abstimmen:

Bewegungsgeschwindigkeit ~5 mit leichter Beschleunigungsglättung; Sprung ~1,2 m; leichte Kamera-Follow-Dämpfung – kein Peitschen-Effekt.

Überprüfen Sie Hänge, Luftsteuerung und Kamera-Clipping, bevor Sie „Skript generiert“ feiern.

Kampf: eine akzeptable Nahkampfschleife

Überspringen Sie Skill-Bäume in v1. Ziel: Angriff drücken → Hitbox für N Frames aktivieren → Schaden → HUD aktualisieren.

Fügen Sie PlayerCombat.cs hinzu: LMB-Angriff, 0,6 s Abklingzeit; AttackHitbox während des Fensters aktivieren; 15 Schaden an IDamageable verursachen. Gegner implementieren IDamageable und aktuelle HP.

Optionale, dennoch einfache Upgrades:

Bewegung bei Angriff kurz sperren; kurzer Hitstun bei Gegnern; 0,4 s Unverwundbarkeitsfenster mit Blinken nach Spielerschaden.

Gesundheitsänderungen als Events/Callbacks auslösen, damit die HUD-Bindung sauber bleibt – vermeiden Sie UI-Skripte, die die Welt per Find durchsuchen.

Gegner: Idle / Patrol / Chase / Attack

Kein Verhaltensbaum erforderlich. Vier Zustände decken einen Feldgegner ab:

Idle → Patrol → Chase → Attack
         ↑________________↓ (Ziel verloren)

Erstellen Sie Assets/Scripts/Enemy/EnemyAI.cs: Zwei-Punkt-Patrouille; Chase innerhalb von 12 m; Attack innerhalb von 2 m (1,2 s Abklingzeit, 8 Schaden); 3 s nach Verlust des Spielers zur Patrouille zurückkehren; bei 0 HP Tod abspielen oder SetActive(false).

Bevorzugen Sie NavMeshAgent, wenn Sie bereits gebacken haben; andernfalls einfache Seek/Face-Bewegung, damit Woche eins nicht durch Navigation blockiert wird. Animator optional – Ausrichtung und Farbfeedback reichen früh aus.

Quests und NPCs: ein Hauptquest-Strang

„Quest-Gefühl“ ist Auslösen → Verfolgen → Abschließen, nicht ein vollständiger Quest-Editor.

Daten einfach halten:

  • QuestId, Titel, Beschreibung, Fortschrittsanzahl, abgeschlossen-Flag
  • NPC Interact (E oder Trigger) öffnet Dialog und StartQuest
  • Gegnertod ruft QuestManager.NotifyKill(enemyId) auf

Erstellen Sie einen QuestManager-Singleton: slay_wolf_01 akzeptieren (besiege 1 Wolf); bei Wolfs-Tod fortschreiten; Quest-Log-Text aktualisieren, wenn abgeschlossen. Zauberer-NPC: Spieler betritt Trigger, drückt E, um diese Quest zu starten.

TMP/Text ist für v1-Dialoge in Ordnung; Verzweigungen später.

HUD: Platzhalter zuerst, polierte UI später

Während das Gameplay unfertig ist, verdrahten Sie Engine-Slider / TMP_Text:

Binden Sie OnHealthChanged des Spielers an den HUD-Balken; binden Sie den aktuellen Titel des QuestManager an eine TMP-Zeile oben auf dem Bildschirm.

Wenn Menüs, Inventar oder Skill-Leisten designreife UI benötigen (geschichtete PSD/Figma, NL-generierte Panels, als Unity-Prefabs aufteilen und exportieren), verwenden Sie einen Canvas-Workflow wie VberAI Studio (im Folgenden „AI Studio“):

  1. RPG-HUD / Menü generieren oder importieren
  2. Komponentisieren und z. B. nach Assets/UI/ exportieren
  3. Zur KI-IDE + Unity MCP zurückkehren, um Schaltflächen, Balken und Questtext an vorhandene Gameplay-Events zu binden

Behandeln Sie harte Ausschnitte für Alpha zuerst, falls nötig. Struktur kann aus dem Canvas kommen; Bindungen und Kampflogik bleiben in Unity über MCP – erwarten Sie nicht, dass das Canvas-Tool eine vollständige Kampf-FSM erstellt.

Import-Detail: Figma zu Unity UI.

Vorgeschlagene Build-Reihenfolge

MCP: Spielersteuerung → eine Nahkampfschleife → eine Gegner-FSM → eine Quest + NPC
        ↓
MCP: Platzhalter-HUD-Verdrahtung (HP / Questzeile)
        ↓ (optional)
Canvas-Tool: poliertes Menü / HUD → nach Unity exportieren
        ↓
MCP: polierte UI an vorhandene Events binden

Gefühl, Zahlen, KI, Navigation → weiterhin Unity MCP verwenden.
Vollbild-Visual-Hierarchie, Reskins, neu exportierte Prefabs → zum Canvas-Tool zurückkehren.

Prompt-Grenzen, die tatsächlich helfen

Vage Prompts verschwenden Zyklen. Festlegen:

  • Pfade und Anknüpfungspunkte — welcher Ordner, welches Objekt
  • Abnahme — z. B. „innerhalb von 10 s Play einen Wolf töten und Quest abgeschlossen sehen“
  • Nicht im Umfang — z. B. „den gesamten Eingabe-Stack nicht neu aufbauen; Kamera nicht löschen“
  • Ein Anliegen pro Prompt — Steuerung, dann Kampf, dann Gegner

Testen Sie immer selbst im Play-Modus. MCP entfernt wiederholendes Klicken; es ersetzt nicht das Design-Urteilsvermögen.

Abnahme-Checkliste

  • Third-Person-Bewegung/Kamera bleibt ~2 Minuten steuerbar ohne offensichtliches Clipping/Kontrollverlust
  • Nahkampf trifft zuverlässig; Abklingzeit ist spürbar
  • Patrouille vs. Verfolgung ist lesbar; Tod hat klares Feedback
  • Quest kann angenommen und abgeschlossen werden; HUD-Text aktualisiert sich
  • Gesundheitsänderungen erreichen die UI (Platzhalter in Ordnung)

Nächste Schritte

  1. Unity MCP Installationsanleitung abschließen und einen Read-only-Smoke-Test durchführen
  2. „Bewegung + ein Gegner + eine Quest“ in dieser Reihenfolge ausliefern
  3. Polierte UI-Export nur hinzufügen, wenn das HUD fertig aussehen muss

Weitere Guides, die Sie interessieren könnten