UEFN MCP встраивает MCP-сервер в процесс Unreal Editor для Fortnite, поэтому любой совместимый с MCP агент ИИ, например Claude Code, Cursor или MCP Inspector, может управлять редактором через локальное HTTP-соединение.
Он предоставляет следующие возможности, специфичные для UEFN:
Создание и изменение сущностей Scene Graph в Verse
Чтение и запись файлов Verse
Размещение устройств творческого режима и редактирование их свойств
Запуск, остановка и проверка игровой сессии
Что такое MCP?
UEFN MCP встраивает сервер Model Context Protocol (MCP) в процесс редактора UEFN. Любой совместимый с MCP агент ИИ подключается к нему по локальному HTTP и управляет редактором с помощью типизированных инструментов, объединённых в наборы инструментов. Благодаря этому агент может анализировать редактор и управлять им: читать код Verse, редактировать Scene Graph, размещать и настраивать устройства творческого режима и запускать игровую сессию.
После настройки, когда разработчик подключит агента (например, Claude Code) к запущенному редактору, можно задавать ему вопросы и давать указания на естественном языке. Вот несколько примеров:
Какие устройства я могу разместить?
Добавь сообщение в журнал при начале раунда и скомпилируй код.
Запусти сессию, чтобы я мог всё проверить.
Получив такие вопросы и указания, агент обнаруживает доступные наборы инструментов, вызывает нужные инструменты и сообщает результат.
Предварительные требования для UEFN MCP
Чтобы использовать UEFN MCP, сначала выполните следующие настройки проекта.
Включите Сценарии редактора Python для проекта.
Настройте автозапуск MCP.
Создайте файл конфигурации клиента.
Запустите агент ИИ из каталога установки UEFN.
Включение Python и UEFN MCP
В настройках проекта установите флажки Сценарии редактора Python и Наборы инструментов UEFN MCP.
Для работы UEFN MCP должны быть включены оба параметра.
Настройка автозапуска MCP
Чтобы настроить автозапуск MCP:
Откройте Редактировать > Настройки редактора.
В группе Общие выберите Model Context Protocol.
Станет доступен параметр Автоматический запуск сервера. Если он включён, MCP-сервер автоматически запускается при каждом запуске редактора и привязывается к адресу http://127.0.0.1:8000/mcp.
На этой же панели можно задать порт прослушивания (по умолчанию 8000) и URL-путь (по умолчанию /mcp), если значения по умолчанию конфликтуют с другой локальной службой. Имя сервера, объявляемое в ServerInfo.name, всегда имеет значение unreal-mcp.
Если сервер нужно запускать по требованию, оставьте параметр Автоматический запуск сервера отключённым и введите ModelContextProtocol.StartServer в консоли редактора.
Команда также принимает необязательный порт: ModelContextProtocol.StartServer:8000.
Создание конфигурации клиента
Каждый агент ИИ ожидает список серверов в определённом формате файла и в определённом месте дерева проекта. Агенту нужно знать, где установлен UEFN.
Для быстрого доступа можно посмотреть расположение файлов установки в программе запуска и сразу открыть эту папку.
Когда определите, где хранятся установочные файлы UEFN (не файлы проекта), создайте файл .mcp.json.
Чтобы создать файл mcp.jason, выполните следующие действия:
В корневой папке проекта UEFN щёлкните правой кнопкой мыши и создайте новый текстовый документ. Назовите его .mcp.txt.
Откройте текстовый документ.
Скопируйте и вставьте в файл следующий текст. Это JSON для конкретной модели, который необходимо оформить в формате, используемом вашим агентом ИИ. Ниже приведён пример JSON для Claude:
Configmcp.json { "mcpServers": { "unreal-mcp": { "type": "http", "url": "http://127.0.0.1:8000/mcp" } } }Сохраните файл, выбрав Все файлы, и добавьте
.jsonв конец имени файла вместо.txt.
Если при изменении расширения операционная система создаст копию файла, оставив отдельный файл с исходным расширением .txt (текстовый документ), этот файл можно удалить — он не нужен.
После создания конфигурации агента ИИ при использовании Codex CLI нужно учитывать один момент. Используемая им конфигурация TOML записывается только один раз, то есть команда не перезаписывает существующий файл. Поэтому устаревшую конфигурацию необходимо удалить вручную. В конфигурации JSON, используемой Claude Code, Cursor, VS Code и Gemini, новые записи объединяются с существующими, поэтому команду можно безопасно запускать повторно.
Подключение агента ИИ
Чтобы подключить агента ИИ к UEFN, запустите CLI или приложение выбранного агента из корневой папки проекта или рабочей области, где были созданы файлы конфигурации .mcp.json. При создании конфигурационного файла можно посмотреть журнал вывода, чтобы узнать нужное расположение файла.
Конкретные инструкции по подключению и расширенным настройкам см. в документации вашего ИИ-клиента.
Ниже приведён пример запуска Claude из папки, в которой был создан файл .mcp.json:
Если возникают проблемы с подключением, попробуйте следующее:
Если CLI или приложение агента ИИ не находит Unreal MCP, убедитесь, что оно запущено из корневой папки проекта или рабочей области, где находятся файлы конфигурации.
Попробуйте другой порт, если порт по умолчанию (
8000) используется другой службой. Его можно задать в настройках редактора с помощью параметра «Номер порта сервера».Убедитесь, что в настройках проекта включены Сценарии редактора Python и Наборы инструментов UEFN MCP.
Чтобы запустить или остановить сервер, необходимо закрыть и снова открыть редактор. Если сомневаетесь, попробуйте перезапустить редактор.
С какими ещё функциями взаимодействует Unreal MCP?
Название функции | Описание |
Реестр наборов инструментов | Как наборы инструментов обнаруживаются и предоставляются в виде инструментов MCP. |
Verse | Набор инструментов Verse читает, редактирует и компилирует исходный код Verse в проекте. |
Scene Graph в Verse (сущности и компоненты) | Область работы набора инструментов Entity. |
Устройства творческого режима | Набор инструментов Device просматривает каталог, размещает устройства и редактирует любые свойства с атрибутом @editable. |
Сеансы | Игровой цикл набора инструментов Session. Игровые сессии UEFN запускаются в режиме Play-in-Client (PIC), а не Play-in-Editor (PIE), как в Unreal Engine. |
Изоляция файлов Verse | Ограничивает операции с файлами Verse проектом автора. |
Рекомендации по составлению запросов для наборов инструментов
В таблице ниже приведены примеры запросов, с помощью которых можно ознакомиться с возможностями каждой функции и заодно проверить, что все наборы инструментов работают как задумано.
Результаты могут различаться в зависимости от агента ИИ.
Набор инструментов | Рекомендуемые запросы |
Verse |
|
Сущности Scene Graph в Verse |
|
Устройства творческого режима |
|
Игровая сессия |
|
Советы по получению лучших результатов
Используйте точные названия.
Формулируя запрос, старайтесь как можно точнее указывать объект, с которым агент должен выполнить действие. Например, запрос «измени то-то или то-то в устройстве таймера» даст лучший результат, чем «измени ту штуку, которую я добавил».
Просите агентов перечислять доступные инструменты.
Для этого есть инструменты обнаружения, которые помогают избежать неверных предположений.
Для многоэтапных запросов сначала просите составить план.
Просмотрите предложенный план, прежде чем поручать агенту выполнение задачи. Это помогает агенту не ошибиться в понимании вашего запроса.
Вносите изменения так, чтобы их было удобно проверять.
Небольшие изменения проще проверить, чем один большой набор изменений. Чем больше таких изменений, тем сложнее их проверять и тем выше риск что-то пропустить.
Известные проблемы
Ниже перечислены известные проблемы, которые исследуются и могут быть исправлены в одной из будущих версий:
Преобразование системы координат и трансформаций из формата LUF в XYZ.
В настоящее время наборы инструментов Python используют формат XYZ вместо системы координат Left-Up-Forward (LUF). Преобразование между XYZ и используемой UEFN системой LUF иногда удаётся, если попросить агента ИИ выполнить конвертацию, но из-за различий в пространственной математике вероятность ошибок возрастает.
Подвисания редактора
Вызовы инструментов MCP могут вызывать подвисания и зависания редактора. Проблема исследуется; мы оцениваем способы сделать вызовы инструментов в редакторе эффективнее.