Skip to main content
Glama

Редактор 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»

Related MCP server: MCP Manager

Требования

Установка

Установка MCP Unity Server представляет собой многоэтапный процесс:

Шаг 1: Установите пакет Unity MCP Server через Unity Package Manager

  1. Откройте диспетчер пакетов Unity (Окно > Диспетчер пакетов)

  2. Нажмите кнопку «+» в верхнем левом углу.

  3. Выберите «Добавить пакет из URL git...»

  4. Введите: https://github.com/CoderGamester/mcp-unity.git

  5. Нажмите «Добавить».

менеджер пакетов

Шаг 2: Установка Node.js

Для запуска сервера MCP Unity на вашем компьютере должен быть установлен Node.js 18 или более поздней версии:

  1. Посетите страницу загрузки Node.js

  2. Загрузите установщик Windows (.msi) для версии LTS (рекомендуется)

  3. Запустите установщик и следуйте указаниям мастера установки.

  4. Проверьте установку, открыв PowerShell и выполнив:

    node --version
  5. Посетите страницу загрузки Node.js

  6. Загрузите установщик macOS (.pkg) для версии LTS (рекомендуется)

  7. Запустите установщик и следуйте указаниям мастера установки.

  8. Либо, если у вас установлен Homebrew, вы можете запустить:

    brew install node@18
  9. Проверьте установку, открыв Терминал и выполнив:

    node --version

Шаг 3: Настройка клиента AI LLM

  1. Откройте редактор Unity

  2. Перейдите в Инструменты > MCP Unity > Окно сервера.

  3. Нажмите кнопку «Настроить» для вашего клиента AI LLM, как показано на изображении ниже.

изображение

  1. Подтвердите установку конфигурации с помощью всплывающего окна.

изображение

Откройте файл конфигурации MCP вашего AI-клиента (например, claude_desktop_config.json в Claude Desktop) и скопируйте следующий текст:

Замените ABSOLUTE/PATH/TO на абсолютный путь к вашей установке MCP Unity или просто скопируйте текст из окна MCP Server редактора Unity (Инструменты > MCP Unity > Окно Server).

{ "mcpServers": { "mcp-unity": { "command": "node", "args": [ "ABSOLUTE/PATH/TO/mcp-unity/Server~/build/index.js" ] } } }

Запустить сервер MCP редактора Unity

  1. Откройте редактор Unity

  2. Перейдите в Инструменты > MCP Unity > Окно сервера.

  3. Нажмите «Запустить сервер», чтобы запустить сервер WebSocket.

  4. Откройте Claude Desktop или вашу среду программирования AI (например, Cursor IDE, Windsurf IDE и т. д.) и запустите инструменты Unity.

соединять

Когда клиент ИИ подключается к серверу WebSocket, он автоматически отображается в зеленом поле в окне.

Необязательно: установите порт WebSocket

По умолчанию сервер WebSocket работает на порту 8090. Изменить этот порт можно двумя способами:

  1. Откройте редактор Unity

  2. Перейдите в Инструменты > MCP Unity > Окно сервера.

  3. Измените значение «WebSocket Port» на желаемый номер порта.

  4. Unity установит системную переменную среды UNITY_PORT на новый номер порта.

  5. Перезапустите сервер Node.js.

  6. Нажмите еще раз «Запустить сервер», чтобы повторно подключить веб-сокет Unity Editor к серверу Node.js MCP.

  7. Установите переменную среды UNITY_PORT в терминале

    • Powershell GXP6

    • Командная строка/Терминал GXP7

  8. Перезапустите сервер Node.js.

  9. Нажмите еще раз «Запустить сервер», чтобы повторно подключить веб-сокет Unity Editor к серверу Node.js MCP.

Необязательно: установите тайм-аут

По умолчанию таймаут между сервером MCP и WebSocket составляет 10 секунд. Вы можете изменить его в зависимости от используемой ОС:

  1. Откройте редактор Unity

  2. Перейдите в Инструменты > MCP Unity > Окно сервера.

  3. Измените значение «Время ожидания запроса (секунды)» на желаемое время ожидания в секундах.

  4. Unity установит системную переменную среды UNITY_REQUEST_TIMEOUT на новое значение тайм-аута.

  5. Перезапустите сервер Node.js.

  6. Нажмите еще раз «Запустить сервер», чтобы повторно подключить веб-сокет Unity Editor к серверу Node.js MCP.

Для ОС, отличных от Windows, необходимо настроить два места:

В редакторе истекло время процесса

  1. Откройте редактор Unity

  2. Перейдите в Инструменты > MCP Unity > Окно сервера.

  3. Измените значение «Время ожидания запроса (секунды)» на желаемое время ожидания в секундах.

Тайм-аут WebSocket

  1. Установите переменную среды UNITY_REQUEST_TIMEOUT в терминале

    • Powershell GXP8

    • Командная строка/Терминал GXP9

  2. Перезапустите сервер Node.js.

  3. Нажмите еще раз «Запустить сервер», чтобы повторно подключить веб-сокет Unity Editor к серверу Node.js MCP.

[!КОНЧИК]
Время ожидания между вашей средой программирования AI (например, Claude Desktop, Cursor IDE, Windsurf IDE) и сервером MCP зависит от среды IDE.

Отладка сервера

Сервер MCP Unity создан с использованием Node.js. Требуется скомпилировать код TypeScript в JavaScript в каталоге build . Чтобы построить сервер, откройте терминал и:

  1. Перейдите в каталог сервера:

    cd ABSOLUTE/PATH/TO/mcp-unity/Server~
  2. Установить зависимости:

    npm install
  3. Сборка сервера:

    npm run build
  4. Запускаем сервер:

    node build/index.js

Отладьте сервер с помощью @modelcontextprotocol/inspector :

  • Powershell

npx @modelcontextprotocol/inspector node Server~/build/index.js
  • Командная строка/Терминал

npx @modelcontextprotocol/inspector node Server~/build/index.js

Не забудьте завершить работу сервера с помощью Ctrl + C перед закрытием терминала или отладкой с помощью MCP Inspector .

  1. Включите ведение журнала на вашем терминале или в файле log.txt:

    • Powershell GXP16

    • Командная строка/Терминал GXP17

Поиск неисправностей

  • Убедитесь, что сервер WebSocket запущен (проверьте окно сервера в Unity)

  • Отправка сообщения журнала консоли от клиента MCP для принудительного переподключения между клиентом MCP и сервером Unity.

  • Измените номер порта в окне MCP Server редактора Unity. (Инструменты > MCP Unity > Окно Server)

  • Проверьте консоль Unity на наличие сообщений об ошибках.

  • Убедитесь, что Node.js правильно установлен и доступен в вашем PATH

  • Убедитесь, что все зависимости установлены в каталоге сервера.

Инструмент run_tests возвращает следующий ответ:

Error: Connection failed: Unknown error

Эта ошибка возникает из-за того, что мостовое соединение теряется при перезагрузке домена при переключении в режим воспроизведения.
Обходной путь — отключить функцию «Перезагрузить домен» в меню «Правка» > «Настройки проекта» > «Редактор» > «Ввести настройки режима воспроизведения» .

Поддержка и обратная связь

Если у вас есть вопросы или вам нужна поддержка, пожалуйста, создайте тему в этом репозитории.

Альтернативно вы можете связаться по адресу:

Внося вклад

Вклады приветствуются! Не стесняйтесь отправлять запрос на извлечение или открывать Issue с вашим запросом.

Зафиксируйте изменения, следуя формату обычных коммитов .

Лицензия

Этот проект находится под лицензией MIT

Благодарности

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CoderGamester/mcp-unity'

If you have feedback or need assistance with the MCP directory API, please join our Discord server