Ollama 統合による Unity MCP
Ollamaを介してUnityとローカルの大規模言語モデル(LLM)間のシームレスな通信を可能にするUnity MCP(モデルコンテキストプロトコル)パッケージ。このパッケージはjustinpbarnett/unity-mcpを拡張してローカルLLMと連携させ、開発者がクラウドベースのLLMに依存せずにワークフローを自動化し、アセットを操作し、Unityエディターをプログラムで制御できるようにします。
概要
Ollama 統合を備えた Unity MCP は、次の間の双方向通信チャネルを提供します。
- Unity(C#経由)
- Python MCPサーバー
- Ollamaを通じて運営されるローカルLLM
これにより、次のことが可能になります。
- アセット管理: Unity アセットをプログラムで作成、インポート、操作します
- シーンコントロール: シーン、オブジェクト、およびそのプロパティを管理します
- マテリアル編集: マテリアルとそのプロパティを変更します
- スクリプト統合: Unity スクリプトの表示、作成、更新
- エディター自動化:Unity エディターの元に戻す、やり直し、再生、ビルドなどの機能を制御します。
すべては独自のローカル LLM によって実行され、インターネット接続や API キーは必要ありません。
サポートされているモデル
この実装は、次の Ollama モデルで動作するように特別に構成されています。
- deepseek-r1:14b - 強力な推論機能を備えた140億パラメータモデル
- gemma3:12b - 優れた汎用性を備えたGoogleの120億パラメータモデル
Unity MCP ウィンドウでこれらのモデルを簡単に切り替えることができます。
インストール(資産方式)
Unity のパッケージ マネージャーの互換性の問題により、インストールにはAsset Methodを使用することをお勧めします。
前提条件
- Unity 2020.3 LTS以降
- Python 3.10以降
- システムにOllamaがインストールされている
- 次の LLM モデルが Ollama に取り込まれました:
ollama pull deepseek-r1:14b
ollama pull gemma3:12b
ステップ1: エディタースクリプトをダウンロードしてインストールする
- このリポジトリをダウンロードまたはクローンします:
- Unity プロジェクトの Assets ディレクトリにフォルダーを作成します。
- クローンしたリポジトリから
Editor
フォルダーを Unity プロジェクトにコピーします。 - フォルダ構造が正しいことを確認します。
- Unityでスクリプトをインポートしてコンパイルする
ステップ2: Python環境の設定
- Python 環境用のフォルダーを作成します (Unity プロジェクトの外部)。
- クローンしたリポジトリから Python フォルダをコピーします。
- 仮想環境を作成してアクティブ化します。
- 依存関係をインストールします:
ステップ3: Ollamaを設定する
- Ollamaがシステムにインストールされ、実行されていることを確認してください
- サポートされているモデルをプルします。
- Ollama サーバーを起動します。
OllamaでUnity MCPを使用する
ステップ1:Unity Bridgeを起動する
- Unityプロジェクトを開く
Window > Unity MCP
に移動して、MCP ウィンドウを開きます。- **「ブリッジを開始」**ボタンをクリックしてUnityブリッジを開始します
ステップ2: Pythonサーバーを起動する
- コマンドプロンプトまたはターミナルを開きます
- Python 環境に移動します。
- 仮想環境をアクティブ化します。
- Python ディレクトリに移動してサーバーを起動します。
ステップ3: Ollamaの設定を構成する
- Unity MCPウィンドウで、 Ollama Configurationセクションを見つけます。
- 次の設定を確認または更新します。
- ホスト: localhost (デフォルト)
- ポート: 11434 (デフォルト)
- モデル:
deepseek-r1:14b
またはgemma3:12b
のいずれかを選択してください - 温度:必要に応じて調整します(0.0~1.0)
- Ollama構成の適用をクリック
ステップ4: チャットインターフェースを使用する
- Unity MCPウィンドウの**「チャットインターフェースを表示」**ボタンをクリックします。
- メッセージ欄に指示を入力してください
- リクエストを処理するには**[送信]**をクリックしてください
プロンプトの例:
- 「位置 (0, 1, 0) に赤い立方体を作成します」
- 「シーンに球体を追加し、青いマテリアルを適用する」
- 「現在のシーン内のすべてのオブジェクトを一覧表示する」
- 「簡単な動作スクリプトを書いてキューブに添付する」
接続ステータスインジケーター
Unity MCP ウィンドウには、各コンポーネントのステータス情報が表示されます。
- Pythonサーバーステータス: Pythonサーバーが実行中かどうかを示します
- 緑: 接続済み
- 黄色: 接続されていますが、問題があります
- 赤: 接続されていません
- Unityブリッジステータス: Unityソケットサーバーが実行中かどうかを表示します
- 実行中: Unity は接続を待機しています
- 停止: Unity ソケット サーバーがアクティブではありません
- Ollamaステータス: Ollamaへの接続ステータスを表示します
- 接続済み: Ollama サーバーに正常に接続されました
- 接続されていません: Ollama に接続できません
トラブルシューティング
よくある問題
- Python サーバーの「未接続」ステータス
- Python サーバーが実行中であることを確認します (
python server.py
) - Pythonコンソールでエラーを確認する
- Unity Bridgeが動作していることを確認する
- Python サーバーが実行中であることを確認します (
- Unity MCP メニューが見つかりません
- エディタースクリプトがプロジェクトに正しくインポートされていることを確認してください
- Unityコンソールでエラーがないか確認する
- 必要に応じてUnityを再起動します
- Ollama 接続の問題
ollama serve
でOllamaが動作していることを確認する- モデルが適切に引き出されているか確認する
- ファイアウォールがポート11434をブロックしていないことを確認する
- MCPコマンド実行失敗
- 詳細なエラーメッセージについてはPythonコンソールを確認してください
- Unity Bridgeが動作していることを確認する
- プロンプトが明確かつ具体的であることを確認してください
Python環境の明示的なセットアップ手順
Python 環境の設定中に問題が発生した場合:
- Python 3.10以降をインストールする
- ollama.aiからOllamaをインストールする
- Python 環境専用のディレクトリを作成します。
- このリポジトリをクローンまたはダウンロードし、Python フォルダーをコピーします。
- 仮想環境を作成します。
- 仮想環境をアクティブ化します。
- 依存関係をインストールします:
- サーバーを実行します。
パフォーマンスに関する考慮事項
ローカル LLM のパフォーマンスはハードウェアによって異なります。
- deepseek-r1:14bの場合:推奨最小12GBのVRAM
- gemma3:12bの場合:推奨最小10GBのVRAM
- CPUのみの操作は可能だが、速度が大幅に低下する
貢献
貢献を歓迎します!お気軽にプルリクエストを送信したり、問題を報告してください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています。
謝辞
- justinpbarnett/unity-mcpをベースにしています
- ローカルLLM統合にOllamaを使用
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Ollama を介して Unity をローカルの大規模言語モデルに接続するサーバー。開発者はクラウドベースの LLM に依存せずにワークフローを自動化し、アセットを操作し、Unity エディターをプログラムで制御できます。
Related MCP Servers
- -securityAlicense-qualityA bridge enabling seamless communication between Unity and Large Language Models via the Model Context Protocol, allowing developers to automate workflows, manipulate assets, and control the Unity Editor programmatically.Last updated -1,449MIT License
- -securityAlicense-qualityA server that enables AI assistants to understand and interact with Unity projects in real-time, providing access to scene hierarchy, project settings, and the ability to execute code directly in the Unity Editor.Last updated -40MIT License
- -securityAlicense-qualityA Model Context Protocol server that provides access to Unity Catalog Functions, allowing AI assistants to list, get, create, and delete functions within Unity Catalog directly through a standardized interface.Last updated -8PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server for Unity game development that enables users to manage projects, edit scenes, create prefabs, and generate scripts through natural language integration with Smithery.ai.Last updated -TypeScript