Skip to main content
Glama

Unity Editor MCP Server

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

Требования

Установка

Установка 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

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

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    Model Context Protocol (MCP) server implementation that enables Claude Desktop to interact with Google's Gemini AI models.
    Last updated -
    53
    TypeScript
    MIT License
    • Apple
    • Linux
  • A
    security
    A
    license
    A
    quality
    A 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 -
    6
    6
    1
    JavaScript
    MIT License
    • Apple
  • A
    security
    F
    license
    A
    quality
    A server built on mcp-framework that enables integration with Claude Desktop through the Model Context Protocol.
    Last updated -
    1
    1
    • Apple
  • -
    security
    A
    license
    -
    quality
    An 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 -
    1
    TypeScript
    MIT License

View all related MCP servers

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