Serveur MCP Unreal : Blueprints et configuration de Claude, étape par étape

Configurez un serveur MCP Unreal pour que Claude puisse créer des Blueprints, faire apparaître des acteurs et modifier des assets dans un éditeur Unreal Engine 5 en cours d’exécution. Choisissez un serveur, activez les plugins, rédigez la configuration de Claude Code ou Claude Desktop et corrigez les erreurs de connexion les plus courantes.

Serveur MCP Unreal : Blueprints et configuration de Claude, étape par étape
Cristian Da Conceicao
Fondateur de Picasso IA

Vous tapez une phrase dans une fenêtre de chat, et un asset Blueprint apparaît dans votre Content Browser. C’est la promesse d’un serveur MCP Unreal : un petit programme pont qui permet à Claude de dialoguer avec un éditeur Unreal Engine en cours d’exécution via le Model Context Protocol. La promesse est réelle, mais la mise en place présente des pièges. Vous gérez deux plugins d’éditeur, un ou deux ports, un fichier JSON et quelques limites dont personne ne parle tant que vous ne les rencontrez pas. Cet article parcourt toute la chaîne, de l’activation des bons plugins à la rédaction de prompts qui produisent des Blueprints propres, et il ne cache rien de ce que Claude ne peut pas encore faire à l’intérieur d’un graphe de Blueprint.

Ce que fait un serveur MCP Unreal

Un serveur MCP est un programme qui expose des outils à un client d’IA. Claude voit un menu tel que « créer un Blueprint », « faire apparaître un acteur » ou « exécuter un script de l’éditeur », et il choisit dans ce menu chaque fois que votre prompt exige une action dans le moteur. Côté Unreal, le fonctionnement est simple, car l’éditeur dispose déjà de moyens d’accepter des commandes venues de l’extérieur. Le serveur traduit les appels d’outils de Claude en ces commandes et renvoie la réponse de l’éditeur.

Les trois éléments en jeu

Vue de dessus d’un ordinateur portable, d’un switch réseau et d’un schéma dessiné à la main en trois cases sur un bureau en chêne

Chaque configuration repose sur les mêmes trois éléments, quel que soit le serveur choisi :

ÉlémentCe que c’estOù il s’exécute
Client ClaudeClaude Code ou Claude DesktopVotre machine
Serveur MCPUn programme pont en Python ou NodeVotre machine, lancé par le client
Éditeur UnrealPlugin Python plus exécution à distance ou API Remote ControlVotre machine, avec un projet ouvert

Le client lance le serveur comme processus enfant et communique avec lui via l’entrée et la sortie standard. Le serveur atteint ensuite l’éditeur sur localhost. Rien ne quitte votre ordinateur, à part les prompts que vous envoyez à Claude lui-même.

Pourquoi ne pas coller du code à la place

Sans pont, vous demandez à Claude un script Python, vous le copiez, vous le collez dans la console Python de l’éditeur, vous lisez l’erreur et vous la recopiez dans le chat. Avec le serveur, Claude exécute lui-même le script, lit la réponse de l’éditeur et corrige ses propres erreurs. La boucle se referme sans que vous ayez à intervenir.

  • Claude voit le résultat réel, donc un mauvais chemin d’asset est corrigé sur-le-champ
  • Les tâches répétitives, comme renommer 200 assets, tiennent dans un seul prompt
  • Vos mains restent dans l’éditeur pendant que le chat s’occupe de la configuration

Les serveurs les plus aboutis vont bien au-delà des tâches sur les assets. La page d’UEMCP indique que Claude peut faire apparaître des acteurs, construire des matériaux, créer des Blueprints, gérer les assets, déplacer la caméra de la fenêtre d’affichage et prendre des captures d’écran, le tout depuis une conversation. Les captures d’écran comptent plus qu’il n’y paraît : lorsque votre client prend en charge les résultats sous forme d’image, Claude peut regarder la fenêtre d’affichage après une modification et vérifier le résultat par rapport à votre demande, au lieu de se fier au seul message de succès.

Choisir d’abord le bon serveur

Plusieurs serveurs open source existent, et ils atteignent le moteur par trois voies différentes. Choisissez selon votre façon de travailler, pas selon leur popularité.

Trois câbles enroulés disposés en éventail sur un établi en béton, sous une lumière du matin

Serveurs à exécution Python à distance

UEMCP en est l’exemple le plus clair. Il parle le protocole d’exécution Python à distance intégré au moteur, la même recherche multicast et le même canal de commandes TCP que celui livré avec Unreal. Sa page PyPI indique la prise en charge d’Unreal Engine 5.0 à 5.6 et de Python 3.10 ou plus récent, et il expose des outils Blueprint permettant de créer un Blueprint, d’ajouter un composant et de définir une propriété par défaut. Rien à compiler.

Serveurs à API Remote Control

unreal-engine-mcp emprunte la voie HTTP. Il combine l’API Remote Control avec du Python dans l’éditeur, écoute par défaut sur le port 30010, et sa page recense 162 outils, dont l’import d’assets, la création de niveaux, les graphes de matériaux, la génération de classes C++ et le packaging. Il indique des tests sur Unreal Engine 5.8. Là aussi, rien à compiler.

Serveurs à plugin C++

Certains projets livrent un plugin C++ qui ouvre un socket dans l’éditeur, et un serveur Python s’y connecte. Vous obtenez un accès plus profond, car le code du plugin atteint des éléments internes de l’éditeur que Python ne peut pas atteindre. Le prix à payer est une compilation par version du moteur. Le plugin UnrealMCP fonctionne ainsi : vous le déposez dans le dossier Plugins de votre projet, vous lancez son script d’installation et vous indiquez à Claude Desktop son script d’exécution.

VoieCompilation nécessaireConnexionIdéal pour
Exécution Python à distanceNonRecherche multicast UDP, puis TCPMise en place rapide, tâches sur les assets
API Remote ControlNonHTTP sur le port 30010Longues listes d’outils, construction de niveaux
Plugin C++OuiSocket TCP personnaliséAccès profond à l’éditeur

💡 Choix rapide : Si vous n’avez jamais utilisé de serveur MCP, prenez la voie d’exécution Python à distance. Elle ne demande qu’une commande dans Claude Code et aucun compilateur. Passez à un plugin C++ seulement lorsque vous vous heurtez à un mur que Python ne peut pas franchir.

Préparer l’éditeur Unreal

Les deux voies sans compilation reposent sur des plugins livrés avec le moteur. Activez-les une fois par projet. Vérifiez d’abord que votre version du moteur figure dans la plage indiquée par le serveur : UEMCP annonce 5.0 à 5.6, tandis que le serveur Remote Control indique des tests sur la 5.8. Sur une version hors de cette liste, attendez-vous à ce que certains appels de l’API Python se comportent différemment.

💡 Utilisez un projet de test : Lancez votre première session sur un projet vierge, avec la même version du moteur. Un niveau jetable ne vous coûte rien, et les surprises restent à l’écart de vos assets réels.

Développeur en sweat-shirt gris debout devant un bureau réglable, la lumière de l’après-midi striant le mur

Activer les plugins

  1. Ouvrez Edit ▸ Plugins dans l’éditeur.
  2. Recherchez Python Editor Script Plugin et cochez-le.
  3. Pour la voie Remote Control, recherchez aussi Remote Control API et cochez-le.
  4. Redémarrez l’éditeur lorsqu’il le demande.
  5. Ouvrez Edit ▸ Project Settings, recherchez « remote execution » et activez Enable Remote Execution.

Ce réglage se trouve dans la configuration de votre projet, vous ne le faites donc qu’une fois. Versionnez la modification de configuration dans votre gestionnaire de sources pour que vos coéquipiers en héritent.

Démarrer le serveur web

La voie Remote Control a besoin de son serveur HTTP en marche. Ouvrez la console dans le Journal de sortie (Output Log) et exécutez :

WebControl.StartServer

Le serveur répond sur le port 30010, sauf si vous l’avez modifié. Gardez l’éditeur ouvert et inactif pendant vos tests : les commandes s’exécutent à l’intérieur de l’éditeur, donc un éditeur occupé à compiler des shaders répond lentement. Le délai d’attente par défaut d’UEMCP est de 120 secondes par commande, ce qui est généreux sans être infini.

Connecter Claude à l’éditeur

Femme en veste en jean tapant sur un ordinateur portable à une table près d’une fenêtre ensoleillée d’un café

Une fois l’éditeur prêt, enregistrez le serveur auprès de votre client Claude. Choisissez le client que vous utilisez déjà.

Claude Code en une seule commande

Pour la voie d’exécution Python à distance :

claude mcp add unreal -- uvx uemcp

Pour la voie Remote Control :

claude mcp add unreal-mcp -- python -m unreal_mcp.server

La première commande nécessite l’installation de uv, car uvx exécute le paquet sans installation manuelle. Exécutez claude mcp list pour vérifier que le serveur est bien enregistré, ou tapez /mcp dans une session pour voir son état de connexion.

Configuration JSON de Claude Desktop

Ouvrez Settings ▸ Developer ▸ Edit Config. Sous Windows, le fichier se trouve à %APPDATA%\Claude\claude_desktop_config.json. Ajoutez une entrée sous mcpServers :

{
  "mcpServers": {
    "unreal": {
      "command": "uvx",
      "args": ["uemcp"]
    }
  }
}

Pour le serveur Remote Control, transmettez le port via une variable d’environnement :

{
  "mcpServers": {
    "unreal-mcp": {
      "command": "python",
      "args": ["-m", "unreal_mcp.server"],
      "env": { "UE_MCP_PORT": "30010" }
    }
  }
}

Quittez complètement Claude Desktop, pas seulement la fenêtre, puis relancez-le.

💡 Surveillez les virgules : Une virgule finale ou une accolade manquante rend tout le fichier invalide, et le serveur n’apparaît jamais, sans message d’erreur. Collez le fichier dans un validateur JSON avant de redémarrer.

Tester avec un prompt simple

Ouvrez d’abord un projet dans l’éditeur, puis demandez :

Listez les acteurs du niveau actuel et dites-moi combien d’entre eux sont des lumières.

Si Claude répond avec des noms qui correspondent à votre World Outliner, la chaîne fonctionne. S’il dit ne pas avoir d’outils Unreal, le client n’a jamais chargé le serveur : vérifiez la configuration avant de toucher à l’éditeur.

Créer des Blueprints depuis le chat

Une fois la connexion stable, le travail utile commence. Un Blueprint est une classe, et créer une classe avec des composants et des valeurs par défaut est exactement le genre de tâche structurée que Claude gère bien via des appels d’outils.

Main tenant un marqueur bleu à côté d’un organigramme dessiné à la main sur un tableau blanc en verre

Ce que Claude peut construire aujourd’hui

Avec les serveurs basés sur Python, les tâches fiables comprennent :

  • Créer une classe Blueprint à partir d’un parent tel qu’Actor, Pawn ou Character
  • Ajouter des composants : static meshes, collisions en boîte et en sphère, lumières ponctuelles
  • Définir les valeurs par défaut des variables, des meshes, des matériaux et des préréglages de collision
  • Faire apparaître des instances de Blueprint dans le niveau ouvert, à des positions exactes
  • Créer des matériaux et des data assets, puis les enregistrer

Voici un prompt qui exploite une bonne partie de cette liste :

Create an Actor Blueprint at /Game/Blueprints/BP_Pickup.
Add a StaticMesh component named PickupMesh using the engine Sphere mesh,
and a SphereCollision component named PickupTrigger with radius 120.
Set PickupMesh scale to 0.5 on every axis.
Then spawn three instances in the open level, 400 units apart along X.
Report the asset path and actor names when you are done.

Claude découpe ce prompt en plusieurs appels d’outils, vérifie chaque réponse et réessaie lorsque l’éditeur renvoie une erreur. Vous voyez les assets apparaître dans le Content Browser au fur et à mesure.

Une bonne première session comporte quatre étapes :

  1. Demandez un rapport en lecture seule, par exemple « listez chaque Blueprint dans /Game/Blueprints ».
  2. Demandez un nouveau Blueprint avec deux composants.
  3. Ouvrez-le dans l’éditeur et comparez-le avec ce que Claude a annoncé.
  4. Demandez une petite modification, comme un rayon de sphère plus grand, et vérifiez la valeur dans le panneau Details.

Si les quatre étapes fonctionnent, vous savez que le processus lit, écrit et vérifie. Ce n’est qu’à ce moment-là que vous devriez demander des tâches plus importantes, comme décorer une pièce entière d’accessoires.

Là où les graphes de Blueprint s’arrêtent

Voici la limite que la plupart des tutoriels passent sous silence. La documentation d’un serveur indique clairement que les graphes de nœuds de Blueprint ne peuvent pas être créés depuis Python. Les composants, les valeurs par défaut et les variables fonctionnent. Câbler un Event Graph nœud par nœud n’est pas fiable sur cette voie.

Deux artistes de jeu examinant un niveau sur un écran dans un loft aux murs de briques

Le contournement consiste en une répartition claire du travail. Claude écrit la logique dans une classe parent C++, qu’il expose avec UFUNCTION(BlueprintCallable) et BlueprintImplementableEvent. Vous compilez. Ensuite, Claude crée un Blueprint enfant, définit ses valeurs par défaut et le place dans le niveau. Le graphe reste minuscule, car la logique réelle vit en C++.

TâcheVoie Python uniquementAvec une classe parent C++
Ajouter des composantsFiableFiable
Définir les valeurs par défautFiableFiable
Câbler les nœuds de l’Event GraphPeu fiableAppelle des fonctions C++ à la place
Logique réutilisableDifficile à partagerRéside dans une seule classe

Les serveurs plus récents annoncent la lecture et la modification directes des graphes de Blueprint sur les versions récentes du moteur. Considérez cela comme prometteur et testez-le sur une copie de votre projet avant de le confier à un travail réel.

Des prompts qui fonctionnent dans Unreal

Main écrivant une courte liste dans un carnet avec un stylo plume à côté d’un calendrier de bureau

Le serveur se charge de la saisie. Votre prompt, lui, détermine toujours le résultat. Ces habitudes réduisent nettement le taux de reprise :

  • Nommez chaque asset et chaque chemin. « BP_Pickup dans /Game/Blueprints » vaut mieux que « un ramassable ».
  • Demandez un seul changement à la fois. Les petites étapes sont faciles à vérifier et faciles à annuler.
  • Terminez par une demande de rapport. « Listez ce que vous avez modifié » vous donne une liste de contrôle à comparer avec l’éditeur.
  • Indiquez votre version du moteur. Les noms de l’API Python changent d’une version à l’autre, donc écrivez « Unreal 5.6 » dès le début.
  • Retenez la sauvegarde. Demandez à Claude d’attendre avant d’enregistrer tous les assets, le temps que vous examiniez le résultat.
  • Versionnez d’abord. Utilisez Git avec LFS ou Perforce, et validez avant chaque session pour qu’un mauvais passage se défasse d’un seul retour en arrière.
Prompt vaguePrompt plus précis
« Faites une porte »« Créez BP_Door dans /Game/Props avec un composant static mesh DoorMesh et un déclencheur en boîte de 200 unités de large. Indique le chemin. »
« Corrige mon éclairage »« Liste chaque lumière du niveau avec son intensité et sa mobilité. Ne modifie encore rien. »
« Nettoie les assets »« Liste les textures de /Game/Textures dont la taille dépasse 4096 pixels. Ne supprimez rien. »

💡 Modèle en quatre lignes : Objectif, chemin de l’asset, contraintes, ce qu’il faut rapporter. Utilisez-le à chaque fois et vos prompts resteront courts et précis.

Les longues sessions dérivent. Après 20 ou 30 appels d’outils, Claude peut perdre la trace des assets existants et commencer à deviner des chemins. Dans ce cas, ouvrez un nouveau chat et collez un bref résumé de l’état actuel : les dossiers utilisés, les noms des Blueprints et la règle de nommage. Un résumé de dix lignes vaut mieux qu’un historique de deux heures.

Corriger rapidement les problèmes de connexion

Mains branchant un câble Ethernet sur un petit routeur posé sur une étagère de bureau à domicile

La plupart des échecs entrent dans quelques schémas :

SymptômeCause probableCorrection
Serveur absent dans ClaudeJSON invalide, ou uvx et python absents du PATHValider le JSON, exécuter uvx --version, redémarrer le client
Aucune réponse HTTPServeur web non démarréExécuter WebControl.StartServer dans la console de l’éditeur
Commandes rejetéesL’exécution à distance est désactivéeVérifier Enable Remote Execution et redémarrer l’éditeur
Délais dépassésÉditeur occupé par des shaders ou un chargement de niveauAttendre que l’éditeur soit inactif, puis réessayer
Port déjà utiliséUne autre application occupe 30010Modifier UE_MCP_PORT et le port Remote Control pour qu’ils correspondent
Éditeur introuvableUn pare-feu ou un VPN bloque le multicastAutoriser l’UDP sur 239.0.0.1:6766 ou suspendre le VPN

En cas d’échec, lisez d’abord le Journal de sortie (Output Log) de l’éditeur. Les erreurs Python des commandes distantes s’y affichent, et Claude a souvent besoin de ce texte exact pour corriger le problème. Si votre client n’a pas transmis l’erreur, collez-la vous-même dans le chat.

Une documentation de serveur renvoie aussi à bEnableRemotePythonExecution=True dans DefaultRemoteControl.ini lorsque l’exécution à distance reste bloquée. Consultez ce fichier si la liste ci-dessus ne résout pas le problème.

Sécuriser la connexion

La page d’UEMCP avertit elle-même que le protocole d’exécution à distance n’a aucune authentification. Quiconque peut atteindre le port peut exécuter du Python dans votre éditeur. Gardez la connexion sur localhost, n’exposez jamais les ports sur un Wi-Fi de bureau partagé, et ajoutez une règle de pare-feu si votre machine se trouve sur un réseau que vous ne contrôlez pas. Claude Code demande aussi une autorisation avant les appels d’outils : lisez attentivement toute demande d’exécution de Python arbitraire avant de l’approuver.

Essayer avec PicassoIA

Un projet Unreal a besoin de plus que des Blueprints. Il lui faut des spécifications de conception, des briefs de niveau et des références visuelles, et PicassoIA s’occupe de cette partie dans le navigateur.

Photographies imprimées de ruines en pierre et d’un chemin en forêt étalées à côté d’un carnet de croquis sur un bureau

Utiliser Claude Sonnet 5 sur PicassoIA

Planifiez d’abord le système sur PicassoIA, puis transmettez le résultat soigné à votre session Unreal. Voici la routine avec Claude Sonnet 5 :

  1. Ouvrez la page de Claude Sonnet 5 sur PicassoIA.
  2. Décrivez l’objectif en termes simples : « Un acteur ramassable qui tourne, joue un son et se détruit au contact. Unreal 5.6. »
  3. Demandez une spécification numérotée listant les composants, les variables, les événements et les chemins d’assets.
  4. Demandez de réécrire chaque ligne de la spécification comme un prompt autonome qui se termine par « rapportez ce que vous avez modifié ».
  5. Collez ces prompts, un à la fois, dans votre session Claude Code connectée au serveur MCP Unreal.

Deux conseils de paramétrage : limitez la demande à un seul système par exécution, et indiquez la version du moteur dans la première phrase. Pour un système de gameplay plus ambitieux, essayez Claude Fable 5 ou Claude Opus 4.7, et pour des ébauches rapides de headers C++, Gemini 3.5 Flash est rapide.

ModèleIdéal pour
Claude Sonnet 5Spécifications, listes de prompts, plans de Blueprints
Claude Fable 5Systèmes de gameplay plus importants
Kimi K2.6Tâches de code de type agent
Gemini 3.5 FlashÉbauches rapides et headers C++

Créer des images de référence pour les niveaux

Avant de demander à Claude de construire une cour, un intérieur de vaisseau ou une clairière en forêt, donnez à tout le monde la même image de l’ambiance visée. Les modèles d’image de PicassoIA comme Seedream 5 Pro, GPT Image 2 et Flux 2 Pro transforment une phrase en image de référence photoréaliste en quelques secondes. Ils produisent des images 2D, utilisez-les donc comme brief visuel pour l’éclairage, les matériaux et la décoration, puis demandez à Claude de construire le niveau en conséquence.

Choisissez une scène de votre projet Unreal actuel et rédigez-en une description d’un paragraphe. Ouvrez PicassoIA, générez trois images de référence à partir de ce paragraphe et gardez celle qui vous semble juste. Collez sa description dans votre prochain prompt Claude, et voyez à quel point la première passe est plus proche du résultat visé. Votre processus gagne en rapidité dès que les prompts et les images concordent.

Partager cet article

Choisissez votre langue