Назад к блогу

Принесет ли Epic Games поддержку Model Context Protocol (MCP) в UEFN? Технологии, стоящие за Verse-скриптингом с поддержкой AI

Опубликовано 29 июня 2026 г.
Принесет ли Epic Games поддержку Model Context Protocol (MCP) в UEFN? Технологии, стоящие за Verse-скриптингом с поддержкой AI

Коротко о главном

Статья рассматривает перспективы интеграции открытого стандарта Model Context Protocol (MCP) в экосистему Unreal Editor for Fortnite (UEFN) для улучшения Verse-скриптинга с помощью AI. Обсуждаются технические ограничения закрытой среды UEFN, экспериментальный плагин MCP в Unreal Engine 5.8, а также преимущества контекстно-зависимой разработки и автоматической диагностики ошибок. В качестве решения проблемы связи локального редактора с Backend приводится платформа horizOn, поддерживающая MCP для администрирования игровых баз данных. Наконец, даны четыре практические рекомендации по оптимизации рабочих процессов до появления официальной интеграции.

Каждый разработчик в UEFN знаком с изнурительным циклом: скопировать ошибки компиляции Verse из лога UEFN, вставить их во внешнее окно LLM и вручную отформатировать контекст иерархии Scene Graph в надежде, что AI не начнет галлюцинировать. Поскольку публичные модели AI обучались на устаревших или обобщенных данных Unreal Engine, они не знают структуру вашего локального проекта, точную версию используемого Verse API или конфигурации устройств, заданные в редакторе. Это отсутствие локального контекста вынуждает разработчиков работать «ручным конвейером данных» между редактором и своими AI-ассистентами, замедляя время итерации. Если вы часами диагностировали таймауты запуска сессий UEFN, вызванные сетевыми драйверами Unreal Engine, вы знаете, насколько мучительно отлаживать состояние локальных логов без ассистента, способного напрямую проинспектировать ваше окружение.

Разрыв локального контекста при разработке в UEFN

В традиционной разработке ПО разработчики используют плагины для IDE, которые индексируют всю кодовую базу, зависимости и переменные окружения. Современные AI-ассистенты для кодинга могут ссылаться на локальные файлы, считывать структуру проекта и даже запускать тесты. Однако Unreal Editor for Fortnite (UEFN) работает в закрытой, песочнице-экосистеме. Создатели ограничены тем, что предоставляет UEFN: файлы Verse, проприетарные конфигурации устройств (файлы .utps) и визуальный интерфейс редактора Unreal.

Эта изоляция создает серьезный «разрыв контекста» (context gap). Когда вы просите обычного AI-ассистента написать кастомное устройство на Verse, он никак не может знать:

  • Какие ассеты зарегистрированы в директории Content вашего проекта.
  • Точные свойства и события, привязанные к вашим creative devices на уровне.
  • Ошибки компиляции, сгенерированные компилятором Verse во время последней сборки.
  • Связь между вашим кастомным кодом Verse и визуальной иерархией Scene Graph.

В результате AI-инструменты с трудом выдают точные ответы. Они часто предлагают функции C++, недоступные в Verse, ссылаются на устаревшие сигнатуры API или генерируют логику, которая не компилируется. Разработчику остается копировать, вставлять, исправлять и повторять — рабочий процесс, который снижает продуктивность и вносит трудноуловимые баги.

Что такое Model Context Protocol (MCP)?

Model Context Protocol (MCP) — это открытый стандарт, созданный для решения именно этой проблемы. Разработанный для создания безопасного стандартизированного интерфейса между AI-моделями и локальными ресурсами, MCP выступает в роли API-шлюза (API gateway) между LLM и инструментами разработки. Вместо того чтобы полагаться на ручное копирование, MCP позволяет AI-ассистенту безопасно подключаться к локальному серверу, запущенному в вашем окружении.

┌─────────────────┐       JSON-RPC        ┌────────────────┐
│   AI Client     │ <───────────────────> │   MCP Server   │
│ (Claude, IDE)   │                       │ (Unreal/UEFN)  │
└─────────────────┘                       └────────┬───────┘
                                                   │ Exposes
                                                   ▼
                                          ┌────────────────┐
                                          │  Local Files   │
                                          │  Editor Logs   │
                                          │  Scene Graph   │
                                          └────────────────┘

Протокол работает по простой архитектуре Host-Client/Server:

  1. Хост/Клиент (Host/Client): AI-приложение (например, десктопный ассистент или расширение для IDE), которое управляет взаимодействием с разработчиком.
  2. Сервер (Server): Локальный процесс, запущенный на машине разработчика, который предоставляет доступ к инструментам, ресурсам и промптам.
  3. Транспортный уровень (Transport Layer): Взаимодействие происходит по стандартным протоколам, таким как Server-Sent Events (SSE) или стандартный ввод/вывод (stdio), с использованием сообщений JSON-RPC.

Ниже представлен упрощенный JSON-RPC запрос, показывающий, как AI-клиент опрашивает локальный MCP-сервер для получения контекста локального файла Verse:

{
  "jsonrpc": "2.0",
  "method": "resources/read",
  "params": {
    "uri": "file:///C:/Users/Developer/Documents/FortniteProjects/MyIsland/Plugins/MyIsland/Content/game_manager.verse"
  },
  "id": 1
}

Локальный MCP-сервер возвращает фактическое содержимое файла Verse, позволяя LLM изучить точную структуру скрипта без необходимости ручного копирования и вставки.

Экспериментальный плагин MCP в Unreal Engine 5.8

С релизом Unreal Engine 5.8 компания Epic Games представила экспериментальный плагин MCP. Этот плагин позволяет Unreal Editor запускать внутренний MCP-сервер, открывая доступ к основным подсистемам движка для внешних AI-инструментов. Связав C++ и Python API редактора с Model Context Protocol, Epic заложила основу для нового поколения рабочих процессов в разработке игр с помощью AI.

Экспериментальный MCP-сервер в UE 5.8 предоставляет несколько ключевых возможностей:

  • Запросы к Asset Registry: AI-ассистенты могут искать ассеты проекта, выявлять неиспользуемые текстуры, проверять настройки LOD полигональных сеток (mesh) и инспектировать экземпляры материалов (material instances).
  • Запросы к логам (Log Querying): Ассистент может читать логи вывода (output logs), перехватывать ошибки компиляции Blueprint и отслеживать предупреждения времени выполнения.
  • Выполнение Python: Поскольку Unreal Engine включает интерфейс скриптинга на Python, MCP-сервер может выполнять автоматизированные задачи редактора, такие как переименование ассетов в соответствии со стилем или размещение акторов на уровне.
  • Инспектирование Blueprint: Сервер позволяет модели анализировать узлы и связи Blueprint, снижая необходимость для разработчиков делать скриншоты визуальных скриптов.

Эта интеграция представляет собой огромный шаг вперед для разработчиков на Unreal Engine, но у создателей контента в UEFN возникает вопрос: когда эта технология появится в Fortnite Creative?

Почему UEFN и Verse остро нуждаются в поддержке MCP

Добавление поддержки MCP в UEFN — это не просто удобство, а техническая необходимость. В отличие от стандартных проектов Unreal Engine, которые поддерживают плагины C++, кастомные утилиты редактора и скриптинг на Python, UEFN ограничивает создателей жестко контролируемой средой. Это делает невозможным написание собственных MCP-серверов для устранения этого разрыва. Epic Games должна внедрить эту поддержку нативно.

Если Epic Games интегрирует плагин MCP из UE 5.8 в UEFN, преимущества изменят скриптинг на Verse, настройку устройств и организацию сцен:

1. Полностью контекстно-зависимый скриптинг на Verse

Вместо генерации галлюцинированного кода подключенный по MCP ассистент будет читать ваши локальные исходные файлы .verse и локальные определения API. Он будет точно знать, какие modules импортированы, какие classes определены и какие методы доступны.

При написании сложной логики на Verse, например кастомного менеджера телеметрии, AI сможет гарантировать валидность всех сигнатур методов. К примеру, разработчики часто сталкиваются с жесткими ограничениями при создании кастомных систем телеметрии, такими как лимит в 32 символа для имени события аналитического устройства в Verse. Локальный MCP-сервер позволил бы AI-ассистенту инспектировать имена ваших событий, проверять, не превышают ли они 32 символа, и автоматически проводить рефакторинг кода во избежание незаметной потери данных телеметрии в продакшене.

Вот пример синтаксически корректного, контекстно-зависимого скрипта Verse, который управляет телеметрией и взаимодействует с creative devices. MCP-сервер прочитает этот файл и мгновенно поймет сигнатуры кастомных классов:

using { /Fortnite.com/Devices }
using { /Fortnite.com/Characters }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }

# Custom telemetry manager that coordinates player state updates
telemetry_coordinator_device := class(creative_device):

    @editable
    ItemGranter : item_granter_device = item_granter_device{}

    @editable
    LogVerbosity : string = "Verbose"

    # Internal map tracking active player scores
    var PlayerScoreMap : [player]int = map{}

    # Initialize listeners on game start
    OnBegin<override>()<suspends> : void =
        GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerAdded)
        GetPlayspace().PlayerRemovedEvent().Subscribe(OnPlayerRemoved)
        Print("Telemetry Coordinator Device Started.")

    # Executed when a player joins the match
    OnPlayerAdded(Player : player) : void =
        if (not PlayerScoreMap[Player]):
            if (set PlayerScoreMap[Player] = 0):
                Print("Tracking initialized for player.")

    # Executed when a player exits the session
    OnPlayerRemoved(Player : player) : void =
        if (Score := PlayerScoreMap[Player]):
            Print("Player disconnected. Final recorded score: {Score}")
            # Dispatch event to backend metrics aggregator
            DispatchTelemetryPayload(Player, Score)

    # Internal function to handle data dispatching
    DispatchTelemetryPayload(Player : player, Score : int) : void =
        # An MCP assistant can check that the payload conforms to the backend API schema
        Print("Dispatching telemetry payload for score: {Score}")

2. Синхронизация Scene Graph и creative devices

Новая архитектура Scene Graph в UEFN определяет игры с помощью entities и components. Визуальное управление этими конфигурациями в редакторе при написании скриптов на Verse, которые ссылаются на них, создает проблемы с координацией.

MCP-сервер открыл бы иерархию Scene Graph вашему AI-клиенту. Модель могла бы считывать конфигурации ваших entities, выявлять непривязанные event listeners, проверять, не пропущена ли у устройства важная ссылка (например, отсутствующий item_granter_device в свойствах @editable), и устранять несоответствия.

3. Автоматизированная диагностика ошибок

При сбое компиляции Verse редактор UEFN генерирует подробные логи ошибок в консоли вывода. Клиент MCP мог бы автоматически захватывать эти логи ошибок, сопоставлять их с активными файлами .verse и предоставлять исправленный код прямо внутри вашей IDE, избавляя вас от необходимости переключать окна или вручную читать stack traces.

Проблемы с Backend: связь локальных редакторов с живыми сервисами

Хотя поддержка MCP внутри UEFN решила бы проблему разрыва локального контекста редактора, разработчики игр сталкиваются с еще более серьезным препятствием: подключением локальной среды разработки к живым игровым Backend-системам. В современных играх Fortnite Creative сохранение состояния (persistence) решает всё. Чтобы создавать RPG с сохранением прогресса, тайкуны или шутеры с Matchmaking, вам нужно сохранять прогресс игроков, управлять динамическими инвентарями и отслеживать виртуальную экономику.

Создание и поддержка таких систем вручную требуют огромного объема работы над инфраструктурой:

  1. API Integration: Написание кастомных обработчиков HTTP-запросов на Verse для взаимодействия с внешними базами данных.
  2. Локальное макетирование (Local Mocking): Создание и запуск локальных mock-серверов для тестирования взаимодействия с Backend перед деплоем.
  3. Обслуживание баз данных: Проектирование схем баз данных, обработка сериализации данных игроков и настройка серверов для масштабирования при пиках онлайна.
  4. Безопасность и валидация: Реализация аутентификации, обеспечение защиты данных от изменений со стороны клиента и настройка SSL-сертификатов.

Настройка этой Backend-инфраструктуры вручную — управление Load Balancers, шардированием баз данных, API endpoints и синхронизацией состояния в реальном времени — может легко занять от 4 до 6 недель чистой инженерной работы. Для соло-создателей или инди-команд это время, украденное у геймдизайна, создания уровней и маркетинга.

Именно здесь horizOn предлагает готовую и удобную альтернативу. Будучи специализированным игровым Backend-as-a-Service, платформа предоставляет «из коробки» поддержку управления базами данных, профилей игроков и телеметрии. Она предлагает предварительно настроенные Backend-эндпоинты, которые подключаются к вашей игровой логике, позволяя управлять всем состоянием базы данных без написания единой строки серверного кода.

Более того, horizOn активно использует возможности MCP. Предоставляя кастомные MCP-серверы для администрирования игровых баз данных, horizOn позволяет вашим AI-ассистентам инспектировать схемы работающих баз данных, выполнять запросы и оптимизировать таблицы прямо из редактора. Это означает, что ваш AI-агент получает полную видимость как вашего локального Verse-кода (Frontend), так и работающей Backend-базы данных, гарантируя, что любой сгенерированный код будет идеально соответствовать вашим реальным структурам данных.

Практические рекомендации для создателей UEFN на сегодняшний день

Пока Epic Games не выпустила нативную поддержку MCP для UEFN, разработчикам приходится оптимизировать свои рабочие процессы вручную. Вот четыре практических рекомендации, которые вы можете применить уже сегодня, чтобы преодолеть разрыв контекста и упростить разработку на Verse:

1. Ведите выделенный файл контекста LLM

Поскольку внешние инструменты AI не могут сканировать вашу директорию UEFN, вам следует поддерживать один текстовый файл (например, workspace_context.prompt) в корне вашего проекта. Используйте его для отслеживания:

  • Точной версии Verse API, которую вы используете.
  • Списка всех активных creative devices на вашем основном уровне.
  • Структуры и сигнатур типов ваших кастомных классов Verse.
  • Сводки активных подключений @editable.

При начале диалога с вашим AI-ассистентом вставляйте этот файл первым. Это сработает как ручной статический ресурс MCP, предоставляя модели точный контекст, необходимый для предотвращения галлюцинаций с API.

2. Оптимизируйте логи компиляции Verse

Вместо копирования ошибок компилятора вы можете создать локальный скрипт, который отслеживает лог вывода компилятора Verse в UEFN. С помощью консольной команды можно парсить файл лога и извлекать только релевантные ошибки и номера строк. Это упростит копирование чистого, сжатого фрагмента лога вместо целой стены избыточных предупреждений.

3. Соблюдайте строгие правила именования событий и устройств

Чтобы предотвратить рассинхронизацию и поломку ссылок на устройства, установите строгие соглашения об именовании устройств и кода Verse. Например, если устройство в редакторе называется VendingMachine_01, соответствующая переменная Verse должна иметь имя VendingMachine01. Такая визуальная согласованность помогает быстро проверять привязки и упрощает ручную передачу контекста моделям AI. Также не забывайте держать имена событий в пределах 32 символов, чтобы избежать скрытой потери аналитических данных.

4. Создайте локальный mock-сервер HTTP

При разработке Backend-систем не тестируйте их на работающей базе данных во время первоначального прототипирования. Настройте простой локальный mock-сервер с использованием Node.js или Python, который имитирует ответы Backend. Это позволит вам тестировать HTTP-запросы Verse локально, выполнять тестовые запросы и проверять парсинг JSON без сетевых задержек и риска повредить реальные данные.

Взгляд в будущее: перспективы создания игр с помощью AI

Внедрение поддержки Model Context Protocol в Unreal Engine 5.8 — это важный шаг на пути к модернизации рабочих процессов разработки игр. Позволяя моделям AI понимать контекст редактора, Epic Games показывает индустрии, как AI может быть интегрирован в качестве инструмента для совместной работы, а не просто генератора текста общего назначения.

Для создателей UEFN нативная поддержка MCP снизила бы порог вхождения в Verse-скриптинг, упростила бы маршрутизацию устройств и ускорила отладку. Пока Epic не перенесет этот плагин в экосистему Fortnite, разработчики могут использовать структурированные файлы контекста, автоматизированное логирование и внешние Backend-платформы, чтобы компенсировать этот разрыв.

Готовы масштабировать свой multiplayer Backend? Попробуйте horizOn бесплатно или изучите API-документацию, чтобы узнать, как мы упрощаем администрирование баз данных и сбор телеметрии для современных разработчиков игр.


Источник: перенос поддержки MCP из Unreal Engine 5.8 в UEFN