Unity MCP で 3D RPG:三人称操作・戦闘・クエストの進め方
遊べる 3D RPG プロトタイプを目標に、Cursor など MCP 対応 AI IDE から Unity MCP で操作・リアルタイム戦闘・敵ステートマシン・クエスト配線を進める手順。仕上げ UI は必要なときだけ。
- Unity MCP
- 3D RPG
- Unity
- combat
- AI game development
デモできる 3D RPG プロトタイプには、まず次が要ります:調整可能な三人称移動とカメラ、最低1ループのリアルタイム近接、小さなステートマシンを持つ敵、トリガー可能なクエスト/会話、HP やクエスト進捗を示す HUD。実装順に書きます。前提は Cursor、Claude Code、Codex など MCP 対応 AI IDE から Unity MCP で開いている Unity プロジェクト(シーン、GameObject、C#)を読み書きすること——ディスクにスクリプトを貼るだけではありません。
導入:Unity MCP インストール手順。対応バージョンは公式(多くは Unity 2022.3+ / Unity 6)に従ってください。
最小プレイ可能範囲を先に決める
v1 の合格条件はこれだけで十分です:
- WASD 移動、マウス視点、ジャンプ;地面と緩い斜面が安定
- 近接攻撃1回(アニメは仮で可)で Collider 付きの敵にヒットしダメージ
- 敵1体:巡回 → 発見 → 追跡/攻撃;死亡後は無効化または破棄
- NPC1体:接近で会話/受注;目標「その敵を倒す」完了でログ更新
- 簡易 HUD:HP バー + クエスト1行
美術はプリミティブで可。タイトル、インベントリ、作り込み HUD は後段の UI(後述)。
プロジェクトと MCP の準備
プレイ系プロンプトの前に:
- Unity プロジェクトが開き、対象シーンで Play できる
- Unity MCP Server 稼働中;AI IDE で Hierarchy ルートを列挙できる(読み取りスモーク)
- ベースラインを commit;大きな変更前にもう一度
読み取り確認:
アクティブシーンのルート GameObject を列挙。何も変更しない。
通ってから書き込み。ブリッジは localhost のみ。プロンプトの型は:Claude Code / Cursor で Unity MCP。
プレイヤー:三人称操作を先に通す
最小構成(名前はプロジェクトに合わせて):
Player
├── CharacterController または Rigidbody + CapsuleCollider
├── CameraPivot(Yaw)
│ └── CameraArm(Pitch)→ Main Camera
└── AttackHitbox(トリガー、既定オフ)
入力・カメラ・パスを明示:
Assets/Scripts/Player/PlayerController.csを作成:三人称;カメラ平面基準の WASD;マウスで yaw/pitch(pitch −30°〜60°);Space でジャンプ;Player に付与。接地は CharacterController.isGrounded など。
手触り:
移動速度おおよそ 5、軽い加速スムージング;ジャンプ約 1.2m;カメラ追従に軽い減衰。
斜面スリップ、空中操舵、カメラのめり込みを先に見る。
戦闘:受け入れ可能な近接1ループ
スキルツリーは後回し。目標は 攻撃入力 → 数フレーム Hitbox ON → ダメージ → HUD 更新。
PlayerCombat.cs:LMB 攻撃、クールダウン 0.6s;ウィンドウ中AttackHitbox有効;IDamageableに 15 ダメージ。敵はIDamageableと現在 HP。
任意の簡易強化:
攻撃中わずかに移動ロック;命中で短い硬直;被弾後 0.4s 無敵点滅。
HP 変化はイベント/コールバックにして HUD をきれいに配線。
敵:Idle / Patrol / Chase / Attack
ビヘイビアツリーは不要。4状態で野良モブは足りる:
Idle → Patrol → Chase → Attack
↑________________↓(ロスト)
Assets/Scripts/Enemy/EnemyAI.cs:2点巡回;12m で Chase;2m で Attack(1.2s CD、ダメージ 8);3s ロストで Patrol;HP0 で死亡演出またはSetActive(false)。
NavMesh があれば NavMeshAgent。なければ単純な向き移動で週1を詰まらせない。Animator は任意。
クエストと NPC:メイン1本
「クエスト感」は 発火 → 追跡 → 完了。
データは素朴に:
QuestId、タイトル、説明、進捗、完了フラグ- NPC の
Interact(E またはトリガー)で会話とStartQuest - 敵死亡で
QuestManager.NotifyKill(enemyId)
QuestManagerシングルトン:slay_wolf_01(Wolf 1体);死亡で進捗;完了でログ文面更新。Wizard NPC:Trigger 内で E で受注。
会話は TMP/Text で十分。
HUD:仮置き → 必要なら仕上げ UI
未完成の間は Slider / TMP_Text:
プレイヤー
OnHealthChangedを HP バーへ;QuestManagerの現在タイトルを画面上 TMP へ。
メニューやインベントリがデザイン級 UI(PSD/Figma、NL 生成、分割して Unity プレハブ書き出し)のときは AI Studio:
- RPG HUD/メニューを生成または取り込み
- コンポーネント化して例:
Assets/UI/へ書き出し - AI IDE + Unity MCP で既存イベントへ配線
構造はキャンバス、バインドと戦闘ロジックは Unity MCP。キャンバスに戦闘 FSM 一式を期待しない。
推奨の進め方
MCP:操作 → 近接1ループ → 敵FSM → クエスト+NPC
↓
MCP:仮 HUD(HP/クエスト行)
↓(任意)
キャンバス:仕上げ UI → Unity へ
↓
MCP:既存イベントへ配線
手触り・数値・AI・ナビ → Unity MCP。
画面全体の見た目・リスキン・再書き出し → キャンバス側。
プロンプト境界
- パスと付与先
- 受け入れ条件(例:Play 後10秒以内に Wolf を倒しクエスト完了表示)
- 禁止範囲(入力系全面リファクタ禁止など)
- 1プロンプト1関心事
必ず自分で Play 確認。MCP は反復クリックを減らすだけで、設計判断は残る。
受け入れチェック
- 三人称を約2分操作しても明らかな貫通/制御不能がない
- 近接が安定して当たり、CD が感じられる
- 巡回と追跡が区別でき、死亡フィードバックがある
- クエスト受注・完了、HUD 文言が変わる
- HP 変化が UI に出る(仮で可)
次の一手
- Unity MCP インストール と読み取りスモーク
- 「移動 + 敵1 + クエスト1」をこの順で
- 見た目が必要なときだけ UI 書き出し
続きを読む
こちらの記事もおすすめです
Godot MCP インストール手順:addons に入れて AI IDE に接続
オープンソース Godot MCP の導入手順。GitHub からダウンロード、プロジェクト addons へ配置、Godot MCP Server 有効化、ローカル起動、Cursor / Claude / Codex など MCP 対応 AI IDE での接続確認までを解説します。
- godot
- mcp
- cursor
- tutorial
Claude Code と Cursor で Unity MCP:手作業の編集を減らしエディタを操作する
Model Context Protocol で Claude Code・Cursor・Codex を Unity に接続。ローカル橋渡しの導入、プレビューとデバッグ、ファイルだけの AI 編集との違いを実務向けに解説します。
- unity-mcp
- mcp-for-unity
- claude-unity-mcp
- unity-claude-code
Unity MCP インストール手順:Package Manager から追加して AI IDE に接続
VberAI Unity MCP Pro の導入手順。ディスクからパッケージ追加、アカウント有効化、ローカル MCP Server(既定ポート 6589)起動、Cursor / Claude / Codex など MCP 対応 AI IDE での接続確認までを解説します。
- unity
- mcp
- cursor
- tutorial