Wir haben nun das Zeitalter der KI erreicht, weshalb hier weniger Lösungen und mehr das Technik Tagebuch Posts kommen.
Lösungen verlinke ich Kategorisch extra auf den weiteren Seiten des Blogs
Eines der Dinge dich schon immer machen wollte, aber keine Zeit dazu hatte war eine Webseite zu gestalten, die aussieht wie ein Betriebssystem.
Für die Lösung habe ich als Vorlage CyberRe (https://www.gnome-look.org/p/1420727/) verwendet und als Github Page eingerichtet. Der Code wurde wieder mit Claude, allerdings mit dem KI Modell Sonnet 5.5.
Für den Blogpost Einstellungen fehlt der Zusatz "KI Hinweis". Der Folgende Text ist die Zusammenfassung wie ich das Problem mit der Verbindung zwischen Unreal Engine und Claude Desktop gelöst habe.
Einleitung
Seit Unreal Engine 5.8 gibt es ein experimentelles MCP-Plugin, mit dem sich
KI-Assistenten direkt mit dem Editor verbinden lassen. Ich wollte einfach
ausprobieren, wie sich Unreal Engine zusammen mit Claude anfühlt. Mein Rechner
läuft mit Pop!_OS, und ich nutze die vorkompilierte Linux-Version der Engine.
Die Einrichtung war weniger geradlinig als gedacht, deshalb halte ich hier
fest, was am Ende funktioniert hat.
Problem und Lösungsansatz
Das Plugin startet in Unreal einen MCP-Server, der lokal auf Port 8000 unter
dem Pfad /mcp lauscht. Unreal kann dafür sogar eine
Konfigurationsdatei für Claude erzeugen. Claude Desktop hat diese aber bei mir
nicht akzeptiert, weil sie den Verbindungstyp „http“ verwendet. Die Lösung war
eine kleine Brücke namens mcp-remote. Sie läuft als
lokales Programm, das Claude Desktop starten kann, und leitet die Anfragen an
den HTTP-Server von Unreal weiter. Dafür brauchte ich ein funktionierendes
Node.js, und genau dort lagen die eigentlichen Stolperfallen.
Lösungsbeschreibung
1. Plugin aktivieren und Server starten
Im Unreal Editor unter Edit → Plugins das Plugin „Unreal MCP“ (intern
ModelContextProtocol) aktivieren und den Editor neu
starten. Falls Claude später keine Werkzeuge sieht, muss zusätzlich das Plugin
„All Toolsets“ aktiv sein. Danach in der Editor-Konsole eingeben:
ModelContextProtocol.StartServer
Im Output Log erscheint dann die Meldung, dass der Server auf Port 8000
gestartet wurde.
2. Claude Desktop konfigurieren
In Claude Desktop unter Einstellungen → Developer → Edit Config die
Datei claude_desktop_config.json öffnen (unter Linux
liegt sie in ~/.config/Claude/) und diesen Block
ergänzen:
Das Fenster zu schließen reicht nicht. Die App läuft im Hintergrund weiter und
liest die Konfiguration nur beim Start. Man muss sie über das Tray-Symbol
komplett beenden und neu starten.
4. Stolperfalle: npx fehlt
Im Protokoll (~/.config/Claude/logs/mcp-server-unreal-mcp.log) stand „Failed to spawn process: No such file or directory“. Das
Ubuntu-Paket nodejs enthält nur Node selbst,
npm und npx sind ein separates
Paket.
5. Stolperfalle: Node.js ist zu alt
Nach der Installation von npm kam der nächste Fehler:
„File is not defined“. Die Node-Version aus den Ubuntu-Paketquellen (18.19.1)
war zu alt für mcp-remote. Ich habe Node daher über
NodeSource auf Version 24 aktualisiert:
Das NodeSource-Paket bringt npm und
npx schon mit. Danach noch einmal Claude Desktop
komplett beenden und neu starten, und unreal-mcp lief.
Tipp zur Fehlersuche: Die Zeitstempel in den
Claude-Protokollen sind in UTC angegeben, in Deutschland also eine Stunde
früher als die Uhrzeit auf dem Rechner.
Fazit
Am Ende ist die Verbindung unkompliziert, aber die Fallstricke liegen weniger
bei Unreal als bei Node.js und beim Neustart von Claude Desktop. Das
MCP-Plugin ist noch experimentell, es kann sich also noch ändern. Beim Start
weist Unreal außerdem darauf hin, dass die Daten, die über das Plugin an den
KI-Dienst gehen, „Licensed Technology“ im Sinne der Unreal-EULA sind. Man ist
selbst dafür verantwortlich, dass der Anbieter sie nicht zum Training nutzt.
Das sollte man vor dem Einsatz in größeren Projekten lesen. Als Nächstes
probiere ich aus, was Claude im Editor alles erledigen kann.
Eine Idee die ich gerade erprobe. Ich weis nicht, ob das gut ist, ein Raumschiff Spiel noch
einen Schooter hinzuzufügen. Statt nur auf der Mondoberfläche zu laufen, kann in der aktuellen Version auch durch Wälder und Dörfer spaziert werden mit einem Team, um Proben von den
Kristallen zu holen. Später ist dies auch im Multiplayer und somit auch ein Coop Spiel.
Zugegeben, noch haut mich das Ergebnis nicht vom Hocker. Die Bewegung fühlen sich
noch zu weich und nicht nach Action an. Aber ich bin dran und noch einige
Pull Request liegen noch vor mir.
Mal wieder mal etwas kleines generiert. Das Spiele habe ich mit einen Prompt
geschrieben zu einem kleinen gruseliges Zombie Spiel. Ich halte mich hier nicht lange mit Texten und propierts aus.
Das Ergebniss soll als Webseite über Github bereit gestellt werden. Das soll ein kleines Spiel sein.
Generiere mir ein Mini Spiel und verwende die Assets die ich hier hinzugefügt gabe.
Hier startet man als Überlebender um Mitternacht und ist mit einer Pistole bewaffnet.
Als Spieler fangen wir in einem Wald an und steht auf dem Weg zum kleinen Dorf.
Das Dorf ist mitten im Wald. Neben dem Dorf ist der Friedhof.
Im Spiel gehts darum, die Zombies zu erledigen. Pro Zombie gibt ein Zombie Count.
Neue Zombies werden nur Respawnd, wenn man als Spieler nicht in die richtung schaut.
Der erste Zombie wird erst eingesetzt, sobald man das Dorf erreicht hat.
Die Rate ist alle 5 Sekunden kommt ein neuer Zombie in 50 Meter entfernung vom Spieler.
Jedoch wird die Intervall Zeit kürzer.
Mit jedem Intervall wird die Zeit um 100 Millisekunden kürzer.
Das Spiel ist zu Ende, wenn der Spieler zu oft von den Zombies berührt wurde. Sagen wir 5 Treffer.
Hier im Chat kann ich nur 5 Dateien hinzufügen.
Falls du kannst, lade passende UI Assets und Audio Assets von Kenne Game Assets.
Falls ebenfalls möglich ist, füge noch Effekte hinzu, wie leichten Nebel der über den Boden,
Schatten, Vollmond Belichtung und weitere Passende Effekte für Grusseliges Spiel.
Soweit du ebenfalls kannst, füge weitere Passende Inhalte, hinzu für ein Grusseliges Zombie Spiel.
Name des Spiels ist: "You can't not alive."
Wenn die Seite geladen wird, soll zunächst das Menü zu sehen sein.
Ein Button für "Neues Spiel" und der zweite Button "Auto Spiel".
Mit "Auto Spiel" soll das Spielfigur vom Computer gesteuert werden.
Hier bin ich mir nicht sicher. Ein Dritter Button soll ein Scoreboard sein.
In meinen aktuellen Kenntnissen kenne ich das, man Punkte nur im Browser des Benutzer ablegen kann,
aber zum Persistieren immer eine Cloude Datenbank haben muss,
damit die Scoreboard immer die letzten Einträge anzeigt mit den 20 besten.
Die ersten Größten Teile des Sets habe ich nun ausgedruck und ich bin schon sehr gehypt. Weitere große Teile bleiben sind noch offen. Entweder frage ich jemanden mit einem Größeren Drucker oder ich Moduliere die Teile so, dass diese nach dem Drucken zusammengeschraubt werden.
Solange mein Wochenkontigent aufgebraucht ist und auf den Reset warte, kümmere
ich um die Karte. Hier entsteht die neue Mondkarte, die für den Server und
auch für das Lokale Single Player als Standard gebaut wird. Die Karte ist
groß und die muss erstmal mit Leben befüllt werden.