Unity MCP×PLATEAU SDKで加速するAI駆動開発ガイド

攻略法

Unity MCP×PLATEAU SDKで加速するAI駆動開発ガイド

AI開発ツールUnity MCPとPLATEAU SDKを組み合わせることで、ハッカソンでの都市シミュレーション・ARアプリ開発が劇的に効率化できる。
Claude やCursorからの自然言語指示でUnity Editorを直接操作し、京都市の3D都市モデルを活用したプロトタイピングが可能になる。本ガイドでは、KYOTO PLATEAU HACK 2025などのハッカソン向けに、セットアップから実践的な活用方法までを網羅する。

Unity MCPとは何か

Model Context Protocol(MCP)は、2024年11月にAnthropicがリリースしたオープン標準プロトコルで、AIアプリケーションと外部システムを接続するための「AI版USB-C」と呼ばれている。Unity MCPはこのMCPをUnity Editor向けに実装したもので、LLM(大規模言語モデル)がUnity上のアセット管理、シーン操作、スクリプト編集などを自然言語で実行できるようにする。

現在主要な実装としてCoplayDev/unity-mcp(旧justinpbarnett/unity-mcp)があり、2025年12月8日時点でv8.2.1がリリースされている。このリポジトリはGitHub上で4,200以上のスターを獲得し、活発に開発が続けられている。

アーキテクチャは2コンポーネント構成で動作する:

コンポーネント役割技術
MCP for Unity BridgeUnity Editor内で実行されるパッケージC#
MCP for Unity ServerAIクライアントとUnityを仲介Python

通信フローは [AIクライアント] ↔ [MCPサーバー(Python)] ↔ [Unity Bridge] となり、HTTP通信(デフォルト)またはstdioトランスポートで接続する。


動作要件と事前準備

ハッカソン本番前に必ず環境構築を完了しておくことが成功の最重要ポイントである。当日のセットアップトラブルで貴重な時間を失わないよう、以下の要件を確認してほしい。

必須要件

要件バージョン備考
Unity2021.3 LTS以上PLATEAU SDKを使う場合は2022.3.25f1以上推奨
Python3.10以上3.12推奨
uv最新版Pythonパッケージマネージャー
MCPクライアント任意Cursor、Claude Code、Claude Desktop等

uvのインストール

macOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows(PowerShell):

winget install --id=astral-sh.uv -e

インストール確認:uv --version

重要な注意点:プロジェクトパスにスペースを含めないこと。C:\My Projects\Game ではなく C:\Dev\Game のようなパスを使用する。

Unity MCPの導入手順

Step 1:Unityパッケージのインストール

  1. Unityプロジェクトを開く
  2. Window > Package Manager を開く
  3. +Add package from git URL... をクリック
  4. 以下のURLを入力:
https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity

安定版を指定する場合:

https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#v8.2.1

Step 2:HTTPサーバーの起動

  1. Window > MCP for Unity を開く
  2. Transportが HTTP になっていることを確認(デフォルト)
  3. HTTP URLが http://localhost:8080 であることを確認
  4. 「Start Local HTTP Server」をクリック
  5. 開いたターミナルウィンドウは閉じないこと

Step 3:MCPクライアントの設定

Cursorの場合

設定ファイルの場所:

  • macOS/Linux: ~/.cursor/mcp.json
  • Windows: %USERPROFILE%\.cursor\mcp.json

mcp.json(HTTP方式・推奨):

{
  "mcpServers": {
    "unityMCP": {
      "url": "http://localhost:8080/mcp"
    }
  }
}

設定後、Cursorを再起動し、Settings > MCP で接続状態を確認する。

Claude Codeの場合

CLIコマンドで追加(推奨):

claude mcp add --transport http UnityMCP http://localhost:8080/mcp

確認コマンド:

claude mcp list          # サーバー一覧
claude mcp get UnityMCP  # 詳細確認

Claude Code内で /mcp と入力すると接続状態を確認できる。

Claude Desktopの場合

設定ファイルの場所:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "unityMCP": {
      "url": "http://localhost:8080/mcp"
    }
  }
}

Unity MCPで使える全ツール

Unity MCPは豊富なツールセットを提供しており、AI経由でUnity Editorのほぼすべての操作を実行できる。

主要ツール一覧

ツール名機能主な用途
manage_gameobjectGameObjectの作成・編集・削除・検索オブジェクト操作全般
manage_sceneシーンの読み込み・保存・作成・階層取得シーン管理
manage_scriptC#スクリプトの作成・読み取り・削除コード生成
manage_assetアセットのインポート・作成・変更・削除アセット管理
manage_materialマテリアルの作成・プロパティ設定見た目の調整
manage_editorエディタ状態の取得・再生モード制御ワークフロー制御
read_consoleコンソールログの取得・クリアデバッグ
execute_menu_itemUnityメニュー項目の実行各種機能の呼び出し
validate_scriptC#構文・構造の検証コード品質チェック

実践的なプロンプト例

GameObject操作:

「位置(0, 1, 0)に赤いCubeを作成して、名前を'Enemy'にして」
「Playerオブジェクトを見つけて、Rigidbodyコンポーネントを追加して質量を5に設定して」
「シーン内の'Destructible'タグが付いたオブジェクトをすべて選択して」

シーン管理:

「MainMenuシーンを読み込んで」
「現在のシーンを'Level_03_Backup'として保存して」
「シーンの階層構造を表示して」

スクリプト生成:

「WASDで移動してスペースキーでジャンプするPlayerMovementスクリプトを作成して」
「シングルトンパターンのGameManagerスクリプトを作って、シーン間で維持されるようにして」
「オブジェクトプーリングシステムを実装したBulletPoolスクリプトを書いて」

デバッグ:

「コンソールの最近のエラーメッセージを表示して、何が原因か説明して」
「NullReferenceExceptionが出ているか確認して」

PLATEAU SDK for Unityとの連携

PLATEAU SDKの概要

PLATEAU SDKは、国土交通省が推進するProject PLATEAUの3D都市モデルデータをUnityで扱うためのオープンソースツールキットである。CityGML形式の都市データを直接インポートし、建物の高さ・用途・築年数などの属性情報にC# APIでアクセスできる。

主な機能:

  • ローカルファイルまたはPLATEAUサーバーからの3D都市モデルインポート
  • LOD(詳細度)選択(LOD1:箱モデル~LOD3+:詳細モデル)
  • 建物属性データへのアクセス
  • 地形モデル変換(Height Map、Unity Terrain)
  • FBX/OBJ/glTFエクスポート

PLATEAU SDKのインストール

推奨バージョン:

  • Unity: 2022.3.25f1以上(LTS)
  • SDK: v3.2.0-beta
  • Toolkits: v2.2.1

Package Managerからのインストール:

SDK: https://github.com/Project-PLATEAU/PLATEAU-SDK-for-Unity.git#v3.2.0-beta
Toolkits: https://github.com/Project-PLATEAU/PLATEAU-SDK-Toolkits-for-Unity.git#v2.2.1

京都市のデータ

KYOTO PLATEAU HACK 2025では、以下の京都市データが利用可能:

年度含まれるデータ
2024年度LOD0-LOD3.3建物、道路(LOD3.4)、橋梁、植生、都市設備
2023年度LOD1-LOD3建物、災害リスクモデル
2022年度LOD1-LOD2建物モデル

データ取得元:G空間情報センター - 京都市

Unity MCP × PLATEAUの活用シナリオ

シナリオ1:AIによるシーン構築

プロンプト:「京都駅エリアのLOD2建物データをインポートして、
          地形を追加して、駅に向いたストリートビューのカメラを配置して」

シナリオ2:建物属性の可視化

// AIが生成するコード例:50m以上の建物を検索
var tallBuildings = FindObjectsOfType<PLATEAUCityObjectGroup>()
    .SelectMany(g => g.PrimaryCityObjects)
    .Where(obj => {
        obj.AttributesMap.TryGetValue("bldg:measuredheight", out var h);
        return float.Parse(h.StringValue) > 50;
    });

シナリオ3:プロトタイピングワークフロー

「祇園エリアの3Dモデルを読み込んで、建物用途別に色分けして
(商業=青、住宅=緑)、クリックで建物情報を表示するスクリプトを追加して」

ハッカソンで成果を出すためのTips

事前準備チェックリスト

  • [ ] Unity MCP + PLATEAU SDKの完全インストールと接続テスト完了
  • [ ] 「赤いCubeを作成して」などの基本プロンプトで動作確認
  • [ ] Gitリポジトリの初期化
  • [ ] スペースなしのプロジェクトパスに配置

2日間の効率的な進め方

Day 1 午前: スコープを絞ったMVP(最小限の動作するプロダクト)を定義。1つの核となるゲームプレイループに集中する。

Day 1 午後〜夜: AIを活用してプロトタイプを高速構築。15-20分ごとにシーンを保存し、動作する機能ごとにGitコミットを行う。

Day 2 午前: 機能の仕上げとバグ修正。デモで映える部分を優先的に磨く。

Day 2 午後: プレゼン準備。動作する機能のバックアップ動画を録画しておく。

AIコード利用時の注意点

生成コードは必ずレビューする。 調査によると、AI生成コードの62%にセキュリティ上の欠陥が含まれるとされる。特に以下の点を確認:

  • 入力値バリデーションの有無
  • NullReferenceExceptionの可能性
  • 存在しないパッケージへの参照(ハルシネーション)

よくあるトラブルと解決法

セットアップ時のエラー

エラー原因解決策
「uv Not Found」uvがインストールされていないpip install uv または公式インストーラーを使用
「Port 6400 is already in use」他のUnityインスタンスがポートを使用中他のUnityを閉じるか、MCP設定でポート番号を変更
macOSで「dyld: Library not loaded」Homebrew Nodeのバージョン問題brew reinstall node && npm reinstall -g @anthropic-ai/claude-code
接続が確立できないUnity Editorが閉じているUnity Editorを開き、Window > MCP for Unityで状態確認

接続確認の方法

  1. Unity Editorが開いているか確認
  2. Window > MCP for Unity で緑色のステータスインジケーター(🟢)を確認
  3. HTTPサーバーが「Session Active」と表示されているか確認
  4. MCPクライアント側で接続状態を確認(Cursor: Settings > MCP、Claude Code: /mcp

どうしても動かない場合の再インストール手順

  1. Unity Editorを完全に閉じる
  2. サーバーディレクトリを削除:
    • Windows: %APPDATA%\Local\Programs\UnityMCP\UnityMcpServer
    • macOS: ~/Library/AppSupport/UnityMCP/UnityMcpServer
  3. Package Managerからパッケージを削除
  4. Git URLから再インストール
  5. サーバーの自動再インストールを待つ

Unity MCPの制限事項

Unity MCPは強力だが、以下の制限を認識しておく必要がある:

  • 3Dモデル・テクスチャ・音声の生成は不可(別のAIツールが必要)
  • Unity Editorが開いている必要がある(バックグラウンド動作不可)
  • Play Mode中のデータアクセスは不安定
  • 複雑なマルチファイルリファクタリングは信頼性が低い
  • パスにスペースが含まれていると動作しない

パフォーマンス面では、大規模プロジェクトや複雑なシーン階層では応答が遅くなる可能性がある。PLATEAU SDKでのインポートエリアは3km²程度に制限することで、快適に作業できる。

参考リソース

Unity MCP関連:

  • GitHubリポジトリ: https://github.com/CoplayDev/unity-mcp
  • トラブルシューティングWiki: https://github.com/CoplayDev/unity-mcp/wiki
  • Discordコミュニティ: https://discord.gg/y4p8KfzrN4

PLATEAU SDK関連:

  • 公式ドキュメント: https://project-plateau.github.io/PLATEAU-SDK-for-Unity/
  • GitHubリポジトリ: https://github.com/Project-PLATEAU/PLATEAU-SDK-for-Unity
  • 京都市PLATEAUデータ: https://www.geospatial.jp/ckan/dataset/plateau-26100-kyoto-shi-2024
  • 公式チュートリアル: https://www.mlit.go.jp/plateau/learning/tpc17-1/

まとめ

Unity MCPとPLATEAU SDKの組み合わせは、ハッカソンでの3D都市アプリケーション開発を根本的に変える可能性を持つ。自然言語でのUnity操作により、コーディング経験が浅い参加者でもアイデアの素早いプロトタイピングが可能になる。

成功の鍵は事前準備にある。本番前に環境構築を完了し、基本的なプロンプトで動作確認を行っておくこと。そして、AIを「万能ツール」ではなく「高速な協力者」として活用し、生成されたコードは必ず確認する習慣をつけることで、安全かつ効率的な開発が実現できる。

ハッカソンでは1つの核となる体験に集中し、PLATEAU SDKの豊富な京都市データとUnity MCPのAI駆動開発を組み合わせて、印象的なプロトタイプを短期間で構築してほしい。

Shin Yamamoto