Редактор MCP Unity (игровой движок)
Английский | 🇨🇳简体中文 | 🇯🇵日本語 |
---|
MCP Unity — это реализация Model Context Protocol для Unity Editor, позволяющая помощникам ИИ взаимодействовать с вашими проектами Unity. Этот пакет обеспечивает мост между Unity и сервером Node.js, который реализует протокол MCP, позволяя агентам ИИ, таким как Claude, Windsurf и Cursor, выполнять операции в Unity Editor.
Функции
Интеграция с IDE — доступ к кэшу пакетов
MCP Unity обеспечивает автоматическую интеграцию с IDE типа VSCode (Visual Studio Code, Cursor, Windsurf) путем добавления папки Unity Library/PackedCache
в ваше рабочее пространство. Эта функция:
- Улучшает интеллект кода для пакетов Unity
- Обеспечивает улучшенное автодополнение и тип информации для пакетов Unity.
- Помогает помощникам по кодированию на основе ИИ понять зависимости вашего проекта
Инструменты сервера MCP
Для управления сценами Unity и игровыми объектами, а также для запроса их через MCP доступны следующие инструменты:
execute_menu_item
: выполняет пункты меню Unity (функции, отмеченные атрибутом MenuItem)Пример подсказки: «Выполните пункт меню «GameObject/Create Empty», чтобы создать новый пустой GameObject»
select_gameobject
: выбирает игровые объекты в иерархии Unity по пути или идентификатору экземпляраПример подсказки: «Выберите объект основной камеры в моей сцене»
update_gameobject
: обновляет основные свойства GameObject (имя, тег, слой, активное/статическое состояние) или создает GameObject, если он не существует.Пример подсказки: «Установите тег объекта Player на „Враг“ и сделайте его неактивным»
update_component
: обновляет поля компонента в GameObject или добавляет его в GameObject, если он не содержит компонентаПример подсказки: «Добавьте компонент Rigidbody к объекту Player и установите его массу равной 5»
add_package
: Устанавливает новые пакеты в диспетчере пакетов UnityПример подсказки: «Добавить пакет TextMeshPro в мой проект»
run_tests
: запускает тесты с помощью Unity Test RunnerПример подсказки: «Выполнить все тесты EditMode в моем проекте»
send_console_log
: Отправить журнал консоли в UnityПример запроса: «Отправить журнал консоли в редактор Unity»
add_asset_to_scene
: добавляет актив из AssetDatabase в сцену Unity.Пример подсказки: «Добавить префаб Player из моего проекта в текущую сцену»
Ресурсы сервера MCP
unity://menu-items
: Извлекает список всех доступных пунктов меню в редакторе Unity для упрощения работы инструментаexecute_menu_item
Пример подсказки: «Показать мне все доступные пункты меню, связанные с созданием GameObject»
unity://scenes-hierarchy
: Извлекает список всех игровых объектов в текущей иерархии сцен Unity.Пример подсказки: «Покажите мне текущую иерархическую структуру сцен»
unity://gameobject/{id}
: извлекает подробную информацию о конкретном GameObject по идентификатору экземпляра или пути объекта в иерархии сцены, включая все компоненты GameObject с их сериализованными свойствами и полями.Пример запроса: «Получите подробную информацию об игровом объекте Player»
unity://logs
: Извлекает список всех журналов из консоли Unity.Пример запроса: «Покажите мне последние сообщения об ошибках из консоли Unity»
unity://packages
: Извлекает информацию об установленных и доступных пакетах из диспетчера пакетов Unity.Пример запроса: «Вывести список всех пакетов, установленных в моем проекте Unity»
unity://assets
: Извлекает информацию об активах в базе данных активов UnityПример подсказки: «Найти все текстурные ресурсы в моем проекте»
unity://tests/{testMode}
: Извлекает информацию о тестах в Unity Test RunnerПример запроса: «Вывести список всех доступных тестов в моем проекте Unity»
Требования
- Unity 2022.3 или более поздняя версия — для установки сервера
- Node.js 18 или более поздняя версия — для запуска сервера
- npm 9 или более поздней версии — для отладки сервера
Установка
Установка MCP Unity Server представляет собой многоэтапный процесс:
Шаг 1: Установите пакет Unity MCP Server через Unity Package Manager
- Откройте диспетчер пакетов Unity (Окно > Диспетчер пакетов)
- Нажмите кнопку «+» в верхнем левом углу.
- Выберите «Добавить пакет из URL git...»
- Введите:
https://github.com/CoderGamester/mcp-unity.git
- Нажмите «Добавить».
Шаг 2: Установка Node.js
Для запуска сервера MCP Unity на вашем компьютере должен быть установлен Node.js 18 или более поздней версии:
- Посетите страницу загрузки Node.js
- Загрузите установщик Windows (.msi) для версии LTS (рекомендуется)
- Запустите установщик и следуйте указаниям мастера установки.
- Проверьте установку, открыв PowerShell и выполнив:
- Посетите страницу загрузки Node.js
- Загрузите установщик macOS (.pkg) для версии LTS (рекомендуется)
- Запустите установщик и следуйте указаниям мастера установки.
- Либо, если у вас установлен Homebrew, вы можете запустить:
- Проверьте установку, открыв Терминал и выполнив:
Шаг 3: Настройка клиента AI LLM
- Откройте редактор Unity
- Перейдите в Инструменты > MCP Unity > Окно сервера.
- Нажмите кнопку «Настроить» для вашего клиента AI LLM, как показано на изображении ниже.
- Подтвердите установку конфигурации с помощью всплывающего окна.
Откройте файл конфигурации MCP вашего AI-клиента (например, claude_desktop_config.json в Claude Desktop) и скопируйте следующий текст:
Замените
ABSOLUTE/PATH/TO
на абсолютный путь к вашей установке MCP Unity или просто скопируйте текст из окна MCP Server редактора Unity (Инструменты > MCP Unity > Окно Server).
Запустить сервер MCP редактора Unity
- Откройте редактор Unity
- Перейдите в Инструменты > MCP Unity > Окно сервера.
- Нажмите «Запустить сервер», чтобы запустить сервер WebSocket.
- Откройте Claude Desktop или вашу среду программирования AI (например, Cursor IDE, Windsurf IDE и т. д.) и запустите инструменты Unity.
Когда клиент ИИ подключается к серверу WebSocket, он автоматически отображается в зеленом поле в окне.
Необязательно: установите порт WebSocket
По умолчанию сервер WebSocket работает на порту 8090. Изменить этот порт можно двумя способами:
- Откройте редактор Unity
- Перейдите в Инструменты > MCP Unity > Окно сервера.
- Измените значение «WebSocket Port» на желаемый номер порта.
- Unity установит системную переменную среды UNITY_PORT на новый номер порта.
- Перезапустите сервер Node.js.
- Нажмите еще раз «Запустить сервер», чтобы повторно подключить веб-сокет Unity Editor к серверу Node.js MCP.
- Установите переменную среды UNITY_PORT в терминале
- Powershell GXP6
- Командная строка/Терминал GXP7
- Перезапустите сервер Node.js.
- Нажмите еще раз «Запустить сервер», чтобы повторно подключить веб-сокет Unity Editor к серверу Node.js MCP.
Необязательно: установите тайм-аут
По умолчанию таймаут между сервером MCP и WebSocket составляет 10 секунд. Вы можете изменить его в зависимости от используемой ОС:
- Откройте редактор Unity
- Перейдите в Инструменты > MCP Unity > Окно сервера.
- Измените значение «Время ожидания запроса (секунды)» на желаемое время ожидания в секундах.
- Unity установит системную переменную среды UNITY_REQUEST_TIMEOUT на новое значение тайм-аута.
- Перезапустите сервер Node.js.
- Нажмите еще раз «Запустить сервер», чтобы повторно подключить веб-сокет Unity Editor к серверу Node.js MCP.
Для ОС, отличных от Windows, необходимо настроить два места:
В редакторе истекло время процесса
- Откройте редактор Unity
- Перейдите в Инструменты > MCP Unity > Окно сервера.
- Измените значение «Время ожидания запроса (секунды)» на желаемое время ожидания в секундах.
Тайм-аут WebSocket
- Установите переменную среды UNITY_REQUEST_TIMEOUT в терминале
- Powershell GXP8
- Командная строка/Терминал GXP9
- Перезапустите сервер Node.js.
- Нажмите еще раз «Запустить сервер», чтобы повторно подключить веб-сокет Unity Editor к серверу Node.js MCP.
[!КОНЧИК]
Время ожидания между вашей средой программирования AI (например, Claude Desktop, Cursor IDE, Windsurf IDE) и сервером MCP зависит от среды IDE.
Отладка сервера
Сервер MCP Unity создан с использованием Node.js. Требуется скомпилировать код TypeScript в JavaScript в каталоге build
. Чтобы построить сервер, откройте терминал и:
- Перейдите в каталог сервера:
- Установить зависимости:
- Сборка сервера:
- Запускаем сервер:
Отладьте сервер с помощью @modelcontextprotocol/inspector :
- Powershell
- Командная строка/Терминал
Не забудьте завершить работу сервера с помощью Ctrl + C
перед закрытием терминала или отладкой с помощью MCP Inspector .
- Включите ведение журнала на вашем терминале или в файле log.txt:
- Powershell GXP16
- Командная строка/Терминал GXP17
Поиск неисправностей
- Убедитесь, что сервер WebSocket запущен (проверьте окно сервера в Unity)
- Отправка сообщения журнала консоли от клиента MCP для принудительного переподключения между клиентом MCP и сервером Unity.
- Измените номер порта в окне MCP Server редактора Unity. (Инструменты > MCP Unity > Окно Server)
- Проверьте консоль Unity на наличие сообщений об ошибках.
- Убедитесь, что Node.js правильно установлен и доступен в вашем PATH
- Убедитесь, что все зависимости установлены в каталоге сервера.
Инструмент run_tests
возвращает следующий ответ:
Эта ошибка возникает из-за того, что мостовое соединение теряется при перезагрузке домена при переключении в режим воспроизведения.
Обходной путь — отключить функцию «Перезагрузить домен» в меню «Правка» > «Настройки проекта» > «Редактор» > «Ввести настройки режима воспроизведения» .
Поддержка и обратная связь
Если у вас есть вопросы или вам нужна поддержка, пожалуйста, создайте тему в этом репозитории.
Альтернативно вы можете связаться по адресу:
- Линкедин:
- Дискорд: gamester7178
- Электронная почта: game.gaester@gmail.com
Внося вклад
Вклады приветствуются! Не стесняйтесь отправлять запрос на извлечение или открывать Issue с вашим запросом.
Зафиксируйте изменения, следуя формату обычных коммитов .
Лицензия
Этот проект находится под лицензией MIT
Благодарности
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
MCP Unity Server для интеграции игрового движка Unity Editor с различными клиентами AI Model (например, Claude Desktop, Windsurf, Cursor)
- Функции
- Требования
- Установка
- Запустить сервер MCP редактора Unity
- Необязательно: установите порт WebSocket
- Необязательно: установите тайм-аут
- Отладка сервера
- Поиск неисправностей
- Поддержка и обратная связь
- Внося вклад
- Лицензия
- Благодарности
Related Resources
Related MCP Servers
- -securityAlicense-qualityModel Context Protocol (MCP) server implementation that enables Claude Desktop to interact with Google's Gemini AI models.Last updated -53TypeScriptMIT License
- AsecurityAlicenseAqualityA tool that helps manage and synchronize MCP server configurations across different AI assistant clients (Cline, Roo Code, WindSurf, Claude), automating the process of retrieving, listing, adding, and removing server configurations from client configuration files.Last updated -661JavaScriptMIT License
- AsecurityFlicenseAqualityA server built on mcp-framework that enables integration with Claude Desktop through the Model Context Protocol.Last updated -11
- -securityAlicense-qualityAn MCP server that enables other AI models (like Claude) to use Google's Gemini models as tools for specific tasks through a standardized interface.Last updated -1TypeScriptMIT License