🚀 CereBro.Unity
CereBro.Unityは、CereBroに基づく、Unity用のモデル非依存型AIエージェントラッパーです。また、Model Context Protocolを通じて、異なるAIモデルの使用をサポートしています。これにより、公式のC# SDK(https://github.com/modelcontextprotocol/csharp-sdk)を使用してツールを作成する際に、コードを変更する必要がなくなります。
📦 インストール
Git URL
Unityのパッケージマネージャーから、Git URLを使用してCereBro.Unityをインストールできます。詳細なインストール手順は、https://docs.unity3d.com/Manual/upm-ui-giturl.htmlを参照してください。
Unityプロジェクトでは、以下のGit URLを使用してインストールします。
https://github.com/rob1997/CereBro.git?path=/Packages/com.cerebro.unity
Open UPM
現在、Open UPMによるサポートは提供されていません。
💻 使用例
MCP Server
ステップ1:サーバーのインポート
メニューバーから CereBro > Import Server
を選択します。これにより、CereBro.Server.Unity
がUnityプロジェクトのルートディレクトリにインポートされます。このサーバーは、UnityとAIモデルの間でデータを中継する仲介役として機能します。
ステップ2:クライアントの設定
具体的なチャットクライアントを CereBro.Server.Unity
を使用するように設定する必要があります。クライアントの設定ファイルに以下の内容を追加してください。
"servers": {
"cerebro-server-unity": {
"type": "stdio",
"command": "dotnet",
"args": [
"<Path to Unity Project>/CereBro.Server.Unity/CereBro.Server.Unity.dll",
"--port",
"<Port Number>"
]
}
}
CereBro
クライアントを使用している場合は、servers.json
ファイルに以下の内容を追加します。
[
{
"Id": "unity-server",
"Name": "CereBro.Server.Unity",
"TransportType": "stdio",
"TransportOptions": {
"command": "dotnet \"<Path To Unity Project>/CereBro.Server.Unity/CereBro.Server.Unity.dll\"",
"arguments": "--port <Port Number>"
}
}
]
ステップ3:UnityでCereBroを実行
次に、UnityでCereBroを実行する必要があります。これにより、CereBro.Server.Unity
からのリクエストを受け取るリスナーが作成されます。
エディターモード:
[InitializeOnLoad]
public static class CereBroEditorRunner
{
static CereBroEditorRunner()
{
CereBroListener.RunForEditor(5050);
}
}
ランタイムモード:
ランタイムでは、CereBroListener.Run(int port = 5000, CancellationToken cancellationToken = default)
メソッドを呼び出す必要があります。このメソッドは、待機可能なタスクを返します。
これで、クライアントを起動し、UnityでCereBroを使用することができます。
MCP クライアント
まだ提供されていません。
基本的な使用法
パッケージマネージャーからCereBro.Unityのサンプルプロジェクトをインポートできます。このサンプルには、MCPクライアントから直接呼び出せるエディターツールが含まれています。
- CreateShapeTool: 現在のシーン内にプリミティブ形状(立方体、球体、円柱など)を作成します。
- GetCurrentPositionTool: 現在のシーン内のGameObjectの現在位置を取得します。
- MoveGameObjectTool: 指定されたオフセットに従って、GameObjectをx、y、z方向に移動します。
- RePositionTool: GameObjectを指定された位置に移動します。
- RotateGameObjectTool: 指定された角度で、GameObjectをx、y、z軸を中心に回転させます。
🤝 プロジェクトへの貢献
このプロジェクトに貢献したい場合は、リポジトリをフォークしてプルリクエストを作成してください。また、問題を発見したり、機能リクエストがある場合は、issueを作成することもできます。







