Unreal MCP подключает ИИ-агента к запущенному редактору Unreal Engine: агент читает уровень, получает свойства объектов и выполняет команды через удалённый запуск Python. Проекты, которые мы сверяли на GitHub, сделаны сообществом, а в README одного из них прямо оговорено, что это неофициальная разработка. Поэтому схема строится вокруг тестовой копии проекта и человека, который принимает результат; рабочую карту без копии агенту отдавать рано.
Чей сервер
Unreal MCP в проверенных репозиториях — это серверы сообщества, которые через встроенную в редактор Python-связь дают агенту список объектов сцены, работу с Blueprint и запуск команд; официальный сервер Epic Games среди них отсутствует, однако перед выбором сверьте документацию Epic для вашей версии движка.
Вокруг запроса «unreal mcp» живёт несколько независимых проектов на GitHub: у каждого свой автор, свой набор инструментов и своя глубина проверки. В README проекта runreal/unreal-mcp сказано, что это неофициальный проект, а последнее изменение в репозитории сделано в июне 2025 года, поэтому основой пилота его брать рано: как пример связи через удалённый Python он годится. Репозиторий groscy/unreal-mcp обновлялся в 2026 году, перечисляет более сорока инструментов, и ссылки на одобрение Epic Games в его README нет. Выбирать сервер приходится осознанно: смотрите автора, дату последнего изменения, лицензию, требуемую версию движка и список замечаний к безопасности.
Задачу полезно сузить заранее. Агент в редакторе силён там, где нужно пройти по сотне объектов уровня, сверить имена, найти актёры без нужного тега или собрать отчёт по ассетам. Творческая расстановка света и геометрии слишком зависит от вкуса, а ошибка в карте стоит человеческих часов. Соседние сценарии мы разобрали в статьях про Unity MCP и Blender MCP; здесь речь о собственном механизме Unreal Engine для удалённого запуска Python. Если команда откажется включать этот механизм даже на тестовой машине, путь закрыт.
Отдельно проверьте версию движка. Требования у проектов разные: runreal/unreal-mcp заявляет проверку на Unreal Engine 5.4 и новее, а в README groscy/unreal-mcp указан Unreal Engine 5.x и показан пример на версии 5.7. Название проекта в поиске молчит о совместимости, поэтому версию из README сверяйте с версией вашего проекта до первой установки. Лицензию читайте по файлу LICENSE: у groscy/unreal-mcp в нём Apache-2.0, а README называет MIT, и для коммерческой студии такое расхождение нужно выяснить до установки.
Как идёт связь
Все описанные в репозиториях варианты опираются на встроенный плагин Python Editor Script Plugin и настройку удалённого выполнения в параметрах проекта. В README groscy/unreal-mcp путь указан как Edit, Project Settings, Plugins, Python, галочка Enable Remote Execution, а адрес по умолчанию задан многоадресной рассылкой. Сам MCP-сервер работает отдельным процессом на вашем компьютере: у одного проекта он запускается через менеджер uv, у другого через npx. Процесс находит редактор и пересылает в него команды, которые сформировал агент.
| Слой | Что делает | Где ограничить |
|---|---|---|
| Плагин и настройка проекта | Включает приём удалённого Python | Только в тестовой копии проекта, после работы отключать |
| Сетевая связь | Открывает редактор для команд | Локальная машина или изолированная сеть без доступа из офисной |
| MCP-сервер | Превращает вызовы агента в команды редактора | Выключить инструмент произвольного Python в настройках клиента, если клиент это позволяет |
| Клиент агента | Показывает вызов до выполнения | Режим подтверждения каждого вызова, пока идёт пилот |
Главный риск спрятан в инструменте произвольного Python. Репозиторий groscy/unreal-mcp описывает его как выполнение с полным доверием и без ограничений, а в README runreal/unreal-mcp предупреждается, что агент получает полный доступ к редактору. Код внутри редактора может менять и удалять ассеты, а также писать в папку проекта на диске. Права тут определяются самим редактором, и серверной проверки команды заранее нет. Поэтому защита строится снаружи: копия проекта, система контроля версий и подтверждение вызовов человеком.
Тестовая ветка
Работу с агентом начинайте в отдельной копии проекта, которая лежит в своей ветке Git или Perforce. Копия защищает основной уровень от случайного удаления, а ветка даёт откат одной командой. Файлы уровней в Unreal бинарные, поэтому обычное построчное сравнение изменений тут бесполезно. Сравнивать приходится отчёты: до и после правки скрипт выгружает в JSON список актёров с именами, классами и ключевыми свойствами, и разницу читает человек.
- Создайте ветку и отдельную копию проекта, откройте копию в редакторе и включите Python Editor Script Plugin вместе с удалённым выполнением.
- Подключите выбранный MCP-сервер к клиенту агента и убедитесь, что в списке инструментов видны только нужные вам группы.
- Начните с вызова на чтение: попросите список актёров открытого уровня и сверьте его с Outliner в редакторе.
- Выгрузите отчёт по уровню в JSON и сохраните его как состояние до правки.
- Дайте агенту одно узкое изменение, например переименовать актёров одной группы по правилу, и подтвердите вызов вручную.
- Выгрузите второй отчёт, сравните два файла и только после этого сохраняйте уровень в ветке.
Откат тоже репетируйте заранее: один раз вернуть файл уровня из ветки на тестовой копии полезнее, чем читать про откат в инструкции. Пока шаги идут на копии, ошибка стоит одной отмены, и разбор причины занимает минуты. Когда схема отработает на нескольких уровнях подряд, можно решать, какие группы инструментов открывать шире. Для этого полезно держать список изменений под рукой: что агент просил, что редактор выполнил, что сотрудник подтвердил. Расхождения между этими тремя строками показывают, где инструкция агента неточна.
Какую рутину по уровням Unreal вы бы поручили агенту первой?
Что разрешить
Инструменты серверов удобно разложить на три группы по цене ошибки. Названия приведены по README groscy/unreal-mcp; у других проектов набор отличается, и список перед запуском нужно прочитать заново.
- Чтение:
list_actorsиget_actor_properties. Открывайте их первыми, они меняют только картину в голове агента. - Изменение уровня:
place_actor,delete_actor,save_level. Включайте на тестовой копии и с подтверждением каждого вызова. - Ассеты и Blueprint:
create_blueprintиcompile_blueprint. Допускайте после того, как агент несколько раз точно справился с изменением уровня. - Произвольный Python:
execute_python. Разрешайте только когда скрипт читает человек до запуска.
Принцип тот же, что для любого MCP: инструмент записи получает отдельное решение владельца, а список открытых инструментов хранится рядом с проектом и пересматривается после каждого обновления сервера. Обновление может добавить инструменты, отсутствовавшие при первой проверке. Подробнее о том, как описывать и ограничивать инструменты сервера, мы писали в статье про инструменты MCP-сервера, а общую схему подключения клиента разбирает материал про настройку MCP-подключений. Полные данные проекта обрабатывает скрипт, агент объясняет результат и предлагает правку, а человек сверяет её с картой.
Проверка сцены
Приёмка уровня состоит из проверок скриптом и из прохода глазами. Скрипт сверяет число актёров, имена по правилу, отсутствие пустых ссылок на удалённые ассеты и результат встроенной проверки карты Map Check в редакторе. Приёмка включает и то, что скриптом измерить трудно: читаемость освещения, проходимость маршрута, ощущение масштаба. Человек запускает уровень в режиме Play In Editor, проходит маршрут игрока и сравнивает вид с эталонными скриншотами. У groscy/unreal-mcp для запуска есть инструмент play_in_editor, но решение о том, что уровень годен, остаётся за сотрудником.
Журнал запусков помогает воспроизвести ошибку: дата, имя ветки, версия инструкции агента, список вызванных инструментов и два отчёта до и после. Тексты запросов с коммерческими названиями проекта держите вне общего журнала. Если агент трижды подряд даёт правку с лишними объектами, возвращайтесь к инструкции, сужайте задачу, оставляйте права прежними. Если студии нужно собрать такой контур вместе с ролями, журналом и приёмкой, начните со страницы про ИИ-агентов для бизнеса.
Возьмите копию самого скучного уровня, включите только два инструмента чтения и попросите агента найти актёры без нужного префикса. Сверьте ответ с Outliner. Если расхождений нет два раза подряд, можно добавлять первый инструмент записи.