Powrót do Bloga

Czy Epic Games wprowadzi Model Context Protocol (MCP) do UEFN? Technologia stojąca za asystowanym przez AI skryptowaniem w Verse

Opublikowano 29 czerwca 2026
Czy Epic Games wprowadzi Model Context Protocol (MCP) do UEFN? Technologia stojąca za asystowanym przez AI skryptowaniem w Verse

W skrócie

Artykuł omawia potencjał integracji Model Context Protocol (MCP) z Unreal Editor for Fortnite (UEFN) w celu usprawnienia skryptowania w języku Verse. Przedstawia problem braku lokalnego kontekstu w obecnych narzędziach AI oraz pokazuje, jak eksperymentalny plugin MCP w Unreal Engine 5.8 rozwiązuje te ograniczenia. Wskazuje również na wyzwania związane z integracją backendu w grach multiplayer i proponuje platformę horizOn jako gotowe rozwiązanie. Na koniec autor dzieli się praktycznymi wskazówkami, jak deweloperzy mogą radzić sobie z brakiem natywnego wsparcia dla MCP już dzisiaj.

Każdy twórca korzystający z UEFN zna nużącą pętlę kopiowania błędów kompilacji Verse z logów UEFN, wklejania ich do zewnętrznego okna LLM i ręcznego formatowania kontekstu dotyczącego hierarchii Scene Graph z nadzieją, że AI nie zacznie halucynować. Ponieważ publiczne modele AI są trenowane na nieaktualnych lub zbyt ogólnych danych Unreal Engine, nie mają one świadomości struktury Twojego lokalnego projektu, dokładnej wersji Verse API, której używasz, ani konfiguracji urządzeń ustawionych w edytorze. Ten brak lokalnego kontekstu zmusza deweloperów do pełnienia roli ręcznego pipeline'u danych między edytorem a asystentami AI, spowalniając czas iteracji. Jeśli spędziłeś godziny na diagnozowaniu problemów z timeoutem uruchamiania sesji UEFN spowodowanych przez sterowniki sieciowe Unreal Engine, wiesz doskonale, jak uciążliwe jest analizowanie stanów lokalnych logów bez asystenta zdolnego do bezpośredniego wglądu w Twoje środowisko.

Brak lokalnego kontekstu w dewelopmencie UEFN

W tradycyjnym tworzeniu oprogramowania deweloperzy używają wtyczek do IDE, które indeksują całą bazę kodu, zależności i zmienne środowiskowe. Nowoczesne asystenty kodowania AI potrafią odwoływać się do lokalnych plików, czytać strukturę projektu, a nawet uruchamiać testy. Jednak Unreal Editor for Fortnite (UEFN) działa w zamkniętym, odizolowanym środowisku (sandboxie). Twórcy są ograniczeni do tego, co udostępnia UEFN: plików Verse, własnościowych konfiguracji urządzeń (plików .utps) oraz wizualnego interfejsu edytora Unreal.

Ta izolacja tworzy poważną „lukę kontekstową”. Kiedy prosisz ogólnego asystenta AI o napisanie niestandardowego urządzenia w Verse, nie ma on pojęcia:

  • Jakie assety są zarejestrowane w katalogu Content Twojego projektu.
  • Jakie dokładnie właściwości (properties) i zdarzenia (events) są przypisane do Twoich urządzeń kreatywnych na poziomie (levelu).
  • Jakie błędy kompilacji wygenerował kompilator Verse podczas ostatniego buildu.
  • Jaka relacja zachodzi między Twoim własnym kodem Verse a wizualną hierarchią Scene Graph.

W rezultacie narzędzia AI mają trudności z dostarczaniem trafnych odpowiedzi. Często sugerują funkcje C++, które nie są dostępne w Verse, odwołują się do przestarzałych sygnatur API lub generują logikę, która się nie kompiluje. Deweloperowi pozostaje ciągłe kopiowanie, wklejanie, poprawianie i powtarzanie – workflow, który drastycznie obniża produktywność i wprowadza subtelne błędy.

Czym jest Model Context Protocol (MCP)?

Model Context Protocol (MCP) to otwarty standard stworzony z myślą o rozwiązaniu dokładnie tego problemu. Zaprojektowany, by ustanowić bezpieczny, standaryzowany interfejs między modelami AI a lokalnymi zasobami, MCP działa jako API gateway pomiędzy modelami LLM a narzędziami programistycznymi. Zamiast polegać na ręcznym kopiowaniu, MCP pozwala asystentowi AI na bezpieczne połączenie się z lokalnym serwerem działającym w Twoim środowisku.

┌─────────────────┐       JSON-RPC        ┌────────────────┐
│    Klient AI    │ <───────────────────> │   Serwer MCP   │
│ (Claude, IDE)   │                       │ (Unreal/UEFN)  │
└─────────────────┘                       └────────┬───────┘
                                                   │ Udostępnia
                                                   ▼
                                          ┌────────────────┐
                                          │ Lokalne pliki  │
                                          │  Logi edytora  │
                                          │  Scene Graph   │
                                          └────────────────┘

Protokół opiera się na prostej architekturze klient-serwer:

  1. Host/Klient: Aplikacja AI (taka jak asystent desktopowy lub rozszerzenie do IDE), która koordynuje interakcję z deweloperem.
  2. Serwer: Lokalny proces działający na maszynie dewelopera, który udostępnia narzędzia, zasoby (resources) oraz prompty.
  3. Warstwa transportowa (Transport Layer): Komunikacja odbywa się za pomocą standardowych protokołów, takich jak Server-Sent Events (SSE) lub Standard Input/Output (stdio), z wykorzystaniem komunikatów JSON-RPC.

Oto uproszczony payload JSON-RPC przedstawiający, w jaki sposób klient AI odpytuje lokalny serwer MCP, aby pobrać kontekst lokalnego pliku Verse:

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

Lokalny serwer MCP odpowiada faktyczną zawartością pliku Verse, umożliwiając modelowi LLM zbadanie dokładnej struktury skryptu bez konieczności kopiowania i wklejania.

Eksperymentalny plugin MCP w Unreal Engine 5.8

Wraz z wydaniem Unreal Engine 5.8, Epic Games wprowadziło eksperymentalną wtyczkę MCP. Plugin ten umożliwia edytorowi Unreal Editor hostowanie wewnętrznego serwera MCP, udostępniając kluczowe podsystemy silnika zewnętrznym narzędziom AI. Dzięki połączeniu edytorskich API C++ i Python z protokołem model context protocol, Epic położyło fundamenty pod nową generację workflowów tworzenia gier asystowanych przez AI.

Eksperymentalny serwer MCP w UE 5.8 oferuje kilka kluczowych możliwości:

  • Odpytywanie Asset Registry: Asystenci AI mogą przeszukiwać assety projektu, identyfikować nieużywane tekstury, sprawdzać ustawienia LOD siatek (meshów) i kontrolować instancje materiałów.
  • Odpytywanie logów: Asystent może czytać logi wyjściowe (output logs), przechwytywać błędy kompilacji blueprintów oraz śledzić ostrzeżenia z runtime'u.
  • Wykonywanie kodu Python: Ponieważ Unreal Engine zawiera interfejs skryptowy Python, serwer MCP może wykonywać zautomatyzowane zadania edytora, takie jak zmiana nazw assetów pod kątem zgodności ze style guide'ami czy umieszczanie aktorów (actors) na poziomie.
  • Inspekcja blueprintów: Serwer pozwala modelowi na inspekcję węzłów (nodes) i połączeń w blueprintach, co zmniejsza potrzebę robienia przez deweloperów zrzutów ekranu ze schematami skryptów wizualnych.

Ta integracja to ogromny krok naprzód dla deweloperów Unreal Engine, ale stawia przed twórcami UEFN pytanie: kiedy ta technologia trafi do Fortnite Creative?

Dlaczego UEFN i Verse wręcz domagają się wsparcia dla MCP

Wprowadzenie wsparcia dla MCP do UEFN to nie tylko kwestia wygody – to techniczna konieczność. W przeciwieństwie do standardowych projektów Unreal Engine, które wspierają wtyczki C++, niestandardowe narzędzia edytora (custom editor utilities) oraz skrypty Python, UEFN ogranicza twórców do ściśle kontrolowanego środowiska. To uniemożliwia twórcom napisanie własnych, niestandardowych serwerów MCP, które wypełniłyby tę lukę. Epic Games musi wdrożyć to wsparcie natywnie.

Jeśli Epic Games zintegruje plugin MCP z UE 5.8 do UEFN, korzyści zrewolucjonizowałyby skryptowanie w Verse, konfigurację urządzeń i organizację sceny:

1. W pełni świadome kontekstu skryptowanie w Verse

Zamiast halucynować kod, połączony przez MCP asystent czytałby Twoje lokalne pliki źródłowe .verse oraz lokalne definicje API. Wiedziałby dokładnie, jakie moduły są zaimportowane, jakie klasy zdefiniowane i jakie metody są dostępne.

Podczas pisania złożonej logiki w Verse, jak np. niestandardowego managera telemetrycznego, AI może upewnić się, że wszystkie sygnatury metod są poprawne. Na przykład deweloperzy często napotykają twarde limity podczas budowania niestandardowych systemów telemetrycznych, takich jak limit 32 znaków dla nazwy zdarzenia urządzenia analitycznego w Verse. Lokalny serwer MCP pozwoliłby asystentowi AI na inspekcję nazw zdarzeń, weryfikację, czy nie przekraczają one 32 znaków, i automatyczny refaktoring kodu, aby uniknąć cichego gubienia danych telemetrycznych w środowisku produkcyjnym.

Oto przykład poprawnego składniowo, świadomego kontekstu skryptu Verse, który zarządza telemetrią i wchodzi w interakcję z urządzeniami kreatywnymi. Serwer MCP przeczytałby ten plik i natychmiast zrozumiał sygnatury niestandardowych klas:

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. Dopasowanie Scene Graph i urządzeń kreatywnych

Nowa architektura Scene Graph w UEFN definiuje gry za pomocą encji (entities) i komponentów (components). Wizualne zarządzanie tymi konfiguracjami w edytorze przy jednoczesnym pisaniu skryptów Verse, które się do nich odwołują, rodzi wyzwania koordynacyjne.

Serwer MCP udostępniłby hierarchię Scene Graph Twojemu klientowi AI. Model mógłby odczytać konfiguracje Twoich encji, zidentyfikować nieprzypisane detektory zdarzeń (unbound event listeners), sprawdzić, czy w urządzeniu nie brakuje krytycznej referencji (jak brakujący item_granter_device we właściwościach @editable) i naprawić te niezgodności.

3. Automatyczna diagnostyka błędów

Kiedy kompilacja Verse zakończy się niepowodzeniem, UEFN generuje szczegółowe logi błędów w konsoli wyjściowej (output console). Klient MCP mógłby automatycznie przechwytywać te logi błędów, powiązać je z aktywnymi plikami .verse i prezentować poprawiony kod bezpośrednio w Twoim IDE, bez konieczności przełączania okien czy ręcznego analizowania stack trace'ów.

Wyzwanie backendowe: Łączenie lokalnych edytorów z live services

Choć wsparcie dla MCP wewnątrz UEFN rozwiązałoby problem braku kontekstu w lokalnym edytorze, przed deweloperami gier stoi jeszcze większa przeszkoda: połączenie ich lokalnego środowiska deweloperskiego z live services gry. W nowoczesnych grach Fortnite Creative persystencja (persistence) to podstawa. Aby budować wieloosobowe gry RPG, tycoony czy strzelanki z matchmakingiem, musisz zapisywać postępy graczy, zarządzać dynamicznymi ekwipunkami i śledzić wirtualne ekonomie.

Ręczne budowanie i utrzymywanie tych systemów wymaga ogromnego nakładu pracy nad infrastrukturą:

  1. Integracja z API: Pisanie niestandardowych handlerów żądań HTTP w Verse do interakcji z zewnętrznymi bazami danych.
  2. Lokalne mockowanie: Tworzenie i uruchamianie lokalnych serwerów testowych (mock servers) w celu testowania interakcji z backendem przed wdrożeniem.
  3. Utrzymanie bazy danych: Projektowanie schematów baz danych, obsługa serializacji danych graczy i konfigurowanie serwerów pod kątem skalowania przy nagłych skokach liczby graczy.
  4. Bezpieczeństwo i walidacja: Wdrażanie uwierzytelniania, dbanie o to, by żądania klienta nie mogły modyfikować wartości w bazie danych, oraz konfigurowanie certyfikatów SSL.

Ręczne konfigurowanie tej infrastruktury backendowej – zarządzanie load balancerami, shardingiem baz danych, endpointami API oraz synchronizacją stanu w czasie rzeczywistym – może z łatwością zająć od 4 do 6 tygodni dedykowanej pracy inżynieryjnej. Dla twórców solo lub zespołów indie to czas skradziony z gameplay design, level building i marketingu.

W tym miejscu horizOn oferuje bezproblemową, gotową do użycia alternatywę. Jako dedykowany Backend-as-a-Service dla gier, platforma ta oferuje gotowe wsparcie dla zarządzania bazami danych, profili graczy oraz telemetrii. Zapewnia prekonfigurowane endpointy backendowe, które integrują się z logiką Twojej gry, pozwalając Ci na zarządzanie całym stanem bazy danych bez konieczności pisania choćby jednej linii kodu serwera backendowego.

Co więcej, horizOn w pełni wykorzystuje możliwości MCP. Poprzez dostarczanie niestandardowych serwerów MCP do administracji bazą danych gry, horizOn umożliwia Twoim asystentom AI inspekcję schematów bazy danych live, wykonywanie zapytań i optymalizację tabel bezpośrednio z poziomu edytora. Oznacza to, że Twój agent AI ma pełny wgląd zarówno w Twój lokalny kod frontendowy w Verse, jak i w działającą bazę danych na backendzie, co gwarantuje, że generowany kod będzie idealnie dopasowany do rzeczywistych struktur danych.

Praktyczne best practices dla twórców UEFN na dziś

Dopóki Epic Games nie udostępni natywnego wsparcia MCP dla UEFN, deweloperzy muszą szukać sposobów na ręczną optymalizację swojego workflow. Oto cztery praktyczne wskazówki (best practices), które możesz wdrożyć już dziś, aby zasypać lukę kontekstową i usprawnić dewelopment w Verse:

1. Utrzymuj dedykowany plik kontekstu dla LLM

Ponieważ zewnętrzne narzędzia AI nie mogą skanować katalogu UEFN, powinieneś utrzymywać pojedynczy plik tekstowy (np. workspace_context.prompt) w katalogu głównym (root) projektu. Używaj go do śledzenia:

  • Dokładnej wersji Verse API, której używasz.
  • Listy wszystkich aktywnych urządzeń kreatywnych na Twoim głównym poziomie.
  • Struktury i sygnatur typów Twoich niestandardowych klas Verse.
  • Podsumowania aktywnych połączeń @editable.

Rozpoczynając konwersację z asystentem AI, wklej ten plik jako pierwszy. Działa to jako ręczny, statyczny zasób MCP, dostarczając modelowi precyzyjny kontekst niezbędny do uniknięcia halucynowania API.

2. Usprawnij logi kompilacji Verse

Zamiast kopiować błędy kompilatora, możesz stworzyć lokalny skrypt, który śledzi (watches) log wyjściowy kompilatora Verse w UEFN. Używając polecenia terminala, możesz sparsować plik logu i wyodrębnić tylko istotne błędy i numery linii. Ułatwia to skopiowanie czystego, skondensowanego fragmentu logu zamiast całej ściany niepotrzebnych ostrzeżeń.

3. Wprowadź ścisłe reguły nazewnictwa zdarzeń i urządzeń

Aby zapobiec desynchronizacji (desyncom) i psuciu się referencji urządzeń, ustal rygorystyczne konwencje nazewnictwa dla urządzeń i kodu Verse. Na przykład, jeśli urządzenie w edytorze nazywa się VendingMachine_01, odpowiadająca mu zmienna w Verse powinna mieć nazwę VendingMachine01. Ta wizualna spójność pozwala szybko weryfikować powiązania (bindings) i ułatwia ręczne udostępnianie kontekstu modelom AI. Dodatkowo pamiętaj o utrzymywaniu nazw zdarzeń poniżej limitu 32 znaków, aby uniknąć cichego gubienia danych analitycznych.

4. Zbuduj lokalny mock serwer HTTP

Podczas projektowania systemów backendowych nie testuj rozwiązań bezpośrednio na żywej bazie danych w fazie prototypowania. Skonfiguruj prosty lokalny mock serwer przy użyciu Node.js lub Pythona, który będzie symulował odpowiedzi z backendu. Pozwoli Ci to testować żądania HTTP w Verse lokalnie, uruchamiać testowe zapytania i weryfikować parsowanie JSON bez generowania opóźnień sieciowych czy ryzykowania uszkodzenia danych produkcyjnych (live data).

Patrząc w przyszłość: Przyszłość tworzenia gier asystowanego przez AI

Wprowadzenie wsparcia dla Model Context Protocol w Unreal Engine 5.8 to milowy krok w kierunku modernizacji workflow tworzenia gier. Umożliwiając modelom AI zrozumienie kontekstu edytora, Epic Games pokazuje branży, jak sztuczna inteligencja może zostać zintegrowana jako narzędzie do współpracy, a nie zwykły generator tekstu.

Dla twórców korzystających z UEFN natywne wsparcie MCP obniżyłoby próg wejścia w skryptowanie w Verse, uprościło routing urządzeń i przyspieszyło debugowanie. Dopóki Epic nie wprowadzi tej wtyczki do ekosystemu Fortnite, deweloperzy mogą korzystać ze strukturyzowanych plików kontekstu, zautomatyzowanego logowania i zewnętrznych platform backendowych, aby wypełnić tę lukę.

Gotowy na skalowanie swojego multiplayer backendu? Wypróbuj horizOn za darmo lub zapoznaj się z API docs, aby zobaczyć, jak usprawniamy administrację bazami danych i telemetrię dla nowoczesnych twórców gier.


Źródło: Bring Unreal Engine 5.8 MCP Support to UEFN