Union ♾️ - MCP-сервер для Unity
Union — это сервер протокола контекста модели (MCP) для Unity, позволяющий AI-агентам (например, Claude, GPT, Gemini) напрямую взаимодействовать с редактором Unity: просматривать сцену, выполнять код, искать ассеты и многое другое.
Возможности
- Мультимодальное зрение — агент видит то же, что и вы: сцену, камеры, режим play, превью ассетов.
- Мощный поиск — одновременный поиск по иерархии и проекту.
- Точный анализ кода — использует собственный компилятор Unity, а не внешний линтер.
- Быстрый старт — запуск за секунды с одним конфигурационным файлом
mcp.json.
- Расширяемость — добавляйте свои инструменты с минимальным шаблонным кодом.
- Всегда актуален — поддерживает последнюю версию протокола MCP (2025-06-18) через официальный C# SDK.
Совместимость
| Модели |
Совместимость |
Примечания |
| GPT-4.1 |
✅ |
|
| Claude 4 Sonnet / Opus |
✅ |
|
| Gemini 2.5 Pro / Flash |
✅ |
|
| o3 |
✅ |
Не понимает изображения |
| o4-mini |
✅ |
|
| Версии Unity |
Совместимость |
Примечания |
| Unity 6000.0.x |
✅ |
Более новые версии должны работать; старые — не тестировались |
| Агенты |
Совместимость |
Примечания |
| Cursor |
✅ |
|
| Rider AI |
✅ |
|
| Claude Desktop |
✅ |
|
| Claude Code |
✅ |
На Mac требуется разрешение на запись экрана и звука |
| ОС |
Совместимость |
| Windows |
✅ |
| Mac |
✅ |
| Ubuntu |
❔ (не тестировалось) |
Установка
- Установите Node.js, если ещё не установлен.
- Настройте
mcp.json для вашего AI-агента (см. ниже).
Настройка mcp.json
Пример конфигурации для запуска Union:
{
"mcpServers": {
"unity": {
"command": "npx",
"args": [
"-y",
"@nurture-tech/unity-mcp-runner",
"-unityPath", "<путь к редактору Unity>",
"-projectPath", "<путь к проекту Unity>"
]
}
}
}
При первом запуске пакет is.nurture.mcp будет автоматически установлен в ваш проект. Рекомендуется закоммитить эти изменения в систему контроля версий.
Важно: Запускайте Unity только через AI-агента. Запуск из Unity Hub приведёт к тому, что MCP-сервер не подключится.
Инструменты
Union предоставляет набор инструментов, разделённых по категориям:
Ассеты
get_asset_contents — получить полное содержимое ассета.
copy_asset — скопировать ассет.
import_asset — импортировать ассет из файловой системы.
get_asset_importer — получить настройки импортёра.
Префабы
open_prefab — открыть префаб в режиме изоляции.
Сцены
open_scene / close_scene / save_scene — открытие, закрытие, сохранение сцены.
get_game_object — получить детали объекта по пути в иерархии.
test_active_scene — запустить play mode на заданное количество секунд.
Скриптинг
create_script — создать или заменить C#-файл с проверкой компиляции.
execute_code — выполнить произвольный код в редакторе.
get_type_info — получить поля и методы типа по полному квалифицированному имени.
Поиск
search — искать по ассетам проекта и объектам сцены.
Состояние редактора
get_state — получить состояние редактора.
get_selection — получить выбранные объекты.
Зрение
focus_game_object — сфокусироваться на объекте в сцене.
screenshot — получить скриншот области, на которой фокус в Scene View.
Известные проблемы
- Google External Dependency Manager (EDMU) вызывает зависание Unity при запуске через Cursor на Windows (в разработке).
- Инструмент
test_active_scene иногда завершается с ошибкой Maximum call stack size exceeded.
- Инструмент
search иногда сообщает Search index is not ready yet. Please try again later.
Добавление своих инструментов
Union использует официальный MCP C# SDK. Чтобы добавить свой инструмент:
- Создайте статический класс с атрибутом
[McpServerToolType].
- Добавьте статические методы с атрибутом
[McpServerTool].
- Примеры можно найти в директории Services.
- После добавления может потребоваться перезапустить Unity и агента, чтобы новые инструменты стали доступны.
Советы по использованию
- Всегда запускайте Unity через агента — иначе MCP-сервер не подключится.
- Настройка для каждого проекта — если агент поддерживает, настройте MCP-сервер в per-project settings, чтобы легко переключаться между проектами.
- Дополнительные аргументы Unity — можно передать аргументы командной строки, например
-batchmode и -nographics для CI/CD. Используйте -- перед аргументами Unity:
{
"mcpServers": {
"unity": {
"command": "npx",
"args": [
"-y",
"@nurture-tech/unity-mcp-runner",
"-unityPath", "<путь к Unity>",
"-projectPath", ".",
"--",
"-batchmode",
"-nographics"
]
}
}
}
- Не используйте
-logFile — MCP-сервер полагается на стандартный вывод Unity.
- Для работы с инструментом
screenshot убедитесь, что окно редактора Unity видно на экране, иначе скриншот сделается с активного окна.
Union — проект с открытым исходным кодом. Подробнее на GitHub.
Комментарии
Комментариев пока нет. Будьте первым.