時代に翻弄されるエンジニアのブログ

ゲームプログラマをやっています。仕事やゲームや趣味に関してつらつら書きたいと思います。

VS CodeからプロンプトでUnityを操作!unity-mcpを使ってみた

VS CodeからプロンプトでUnityを操作!unity-mcpを使ってみた

概要

この記事では、プロンプトを使ってUnityエディタを操作できるツール「unity-mcp」について紹介します。unity-mcpを使うと、自然言語で指示を出すだけでUnityの操作が可能になります。VS Codeから簡単に試せるのが面白かったので、基本的な使い方やVS Codeでの設定方法、使う上での注意点などをまとめてみました。

Model Context Protocol (MCP) とは?

まず、unity-mcp を理解する上で前提となる Model Context Protocol (MCP) について簡単に触れておきましょう。

MCPは、大規模言語モデル(LLM)が外部ツールやアプリケーションと対話するためのプロトコル(通信規約)です。これにより、LLMは単にテキストを生成するだけでなく、特定のソフトウェアを操作したり、外部のAPIを利用したりできるようになります。

unity-mcp は、このMCPを利用して、LLMがUnityエディタを操作できるようにした実装の一つ、というわけですね。

unity-mcpとは?

unity-mcpは、自然言語のプロンプト(指示)を使ってUnityエディタを操作できるようにするツールです。例えば、「赤いキューブをシーンに追加して」といった指示で、実際にUnity上にオブジェクトを配置したりできます。

詳しい情報やセットアップ方法は、以下のGitHubリポジトリで確認できます。

https://github.com/justinpbarnett/unity-mcpgithub.com


基本的な使い方は、リポジトリのREADMEに沿ってセットアップし、サーバーを起動した後、対応するクライアント(VS Code拡張機能など)からプロンプトを送るだけです。

Unity側の準備:パッケージの導入

VS Codeなどのクライアントから接続する前に、Unityプロジェクト側にunity-mcpのブリッジとなるパッケージを導入しておく必要があります。

1. Unityエディタを開き、対象のプロジェクトを開きます。
2. メニューバーから Window Package Manager を選択して、Package Managerウィンドウを開きます。
3. Package Managerウィンドウ左上の「+」ボタンをクリックし、「Add package from git URL...」を選択します。
4. 以下のURLを入力し、「Add」ボタンをクリックします。

https://github.com/justinpbarnett/unity-mcp.git?path=/UnityMcpBridge

5. パッケージのインポートが完了するまで待ちます。

これで、Unityプロジェクトがunity-mcpサーバーからの指示を受け付ける準備ができました。

VS Codeでの設定

VS Codeでunity-mcpを使う場合、拡張機能の設定が必要です。settings.json に以下のような設定を追加します。

"unity-mcp": {
    "command": "uv", // もしくは python など、サーバー起動に使うコマンド
    "args": [
        "--directory",
        "/path/to/your/UnityMCP/UnityMcpServer/src", // サーバーのソースコードがあるディレクトリパスに変更してください
        "run",
        "server.py" // サーバー起動スクリプト
    ]
}

command や args の内容は、ご自身の環境に合わせて適宜変更してくださいね。特に args 内のディレクトリパスは、unity-mcpサーバーのソースコードを置いた場所を指定する必要があります。/path/to/your/ の部分は、実際のパスに置き換えてください。

使う上での注意点:実行中はUnityを触らない!

unity-mcpがプロンプトに基づいてUnityを操作している間は、絶対にUnityエディタを直接操作しないようにしましょう。

なぜなら、unity-mcpがオブジェクトを作成したり、設定を変更したりしている途中で、手動で保存したり、別の操作を加えたりすると、処理が中断されたり、予期せぬ状態になったりして、プロジェクトの状態が壊れてしまう可能性があるからです。

unity-mcpに指示を出したら、処理が終わるまでじっと待つのが安全です。

まとめ

unity-mcpは、プロンプトでUnityを操作するという、未来感のある体験を提供してくれる面白いツールです。まだ発展途上の部分もあるかもしれませんが、うまく使えば開発の効率化につながる可能性を感じます。

VS Codeとの連携も可能ですし、試してみる価値はあると思います。ただし、利用する際は、実行中にUnityを触らないという点にだけは気をつけてくださいね.