🚀 CereBro.Unity
CereBro.Unity is a model-agnostic AI agent wrapper based on CereBro for Unity, supporting the use of different AI models through the Model Context Protocol. Now you can write tools using the official C# SDK (https://github.com/modelcontextprotocol/csharp-sdk) without changing the code.
🚀 Quick Start
✨ Features
CereBro.Unity is a model-agnostic AI agent wrapper for Unity. It is based on CereBro and supports using different AI models via the Model Context Protocol. You can use the official C# SDK to write tools without code changes.
📦 Installation
Git URL
You can install CereBro.Unity from Unity's Package Manager via a Git URL. Please visit https://docs.unity3d.com/Manual/upm-ui-giturl.html for installation.
In your Unity project, use the following Git URL to install:
https://github.com/rob1997/CereBro.git?path=/Packages/com.cerebro.unity
Open UPM
Open UPM support is not currently available.
💻 Usage Examples
MCP Server
Step 1: Import the Server
Select CereBro > Import Server
from the menu bar. This will import CereBro.Server.Unity
into the root directory of your Unity project. It acts as an intermediary MCP server, responsible for relaying data between Unity and the AI model.
Step 2: Configure the Client
You need to configure the specific chat client to use CereBro.Server.Unity
. You can add the following content to the client's configuration file:
"servers": {
"cerebro-server-unity": {
"type": "stdio",
"command": "dotnet",
"args": [
"<Path to Unity Project>/CereBro.Server.Unity/CereBro.Server.Unity.dll",
"--port",
"<Port Number>"
]
}
}
If you are using the CereBro
client, you can add the following content to the servers.json
file:
[
{
"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>"
}
}
]
Step 3: Run CereBro in Unity
Next, you need to run CereBro in Unity. This will create a listener to listen for requests from CereBro.Server.Unity
.
Editor Mode:
[InitializeOnLoad]
public static class CereBroEditorRunner
{
static CereBroEditorRunner()
{
CereBroListener.RunForEditor(5050);
}
}
Runtime Mode:
At runtime, you need to call the CereBroListener.Run(int port = 5000, CancellationToken cancellationToken = default)
method, which will return an Awaitable Task.
Now you can start the client and use CereBro in Unity.
MCP Client
MCP client support is not currently available.
Basic Usage
The following are some basic usage examples provided by the CereBro.Unity sample project:
You can import the sample project of CereBro.Unity in the Package Manager. It includes editor tools that can be directly called from the MCP client:
- CreateShapeTool: Create a primitive shape (e.g., cube, sphere, cylinder, etc.) in the current scene.
- GetCurrentPositionTool: Get the current position of a GameObject in the current scene.
- MoveGameObjectTool: Move a GameObject by a specified offset in the x, y, and z directions.
- RePositionTool: Move a GameObject to a specified position.
- RotateGameObjectTool: Rotate a GameObject around the x, y, and z axes by a specified angle.
🤝 Contributing
If you wish to contribute to this project, you can fork the repository and create a pull request. You can also create an issue if you find any problems or have any feature requests.







