Unreal Engine MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UE_MCP_HOST | No | Remote Control endpoint host | 127.0.0.1 |
| UE_MCP_PORT | No | Remote Control endpoint port | 30010 |
| UE_MCP_LIBRARY | No | Where downloaded assets land | ~/UnrealAssetLibrary |
| UE_MCP_TIMEOUT | No | Per-call timeout in seconds | 180 |
| UE_MCP_ENGINE_DIRS | No | Extra folders to search for engine installs | |
| UE_MCP_MAX_DOWNLOAD | No | Per-file download cap | 4 GiB |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ue_engine_listA | Elenca le installazioni di Unreal Engine trovate sulla macchina. Cerca in: variabile UE_MCP_ENGINE_DIRS, elenco dell'Epic Games Launcher, registro di Windows. Da chiamare per prima quando non c'è ancora un progetto. |
| ue_engine_templatesB | Elenca i template ufficiali disponibili nell'installazione (TP_Blank, TP_ThirdPerson, ...). |
| ue_project_createA | Crea un progetto Unreal da specifica, pronto per il bridge MCP. Scrive Args:
name: nome progetto (identificatore valido, es. "MyGame").
directory: cartella genitore, es. "C:/UnrealProjects".
engine_version: es. "5.4"; se omesso usa la più recente installata.
template: "blank" (generato da zero) o il nome di un template del motore
(vedi ue_engine_templates), es. "TP_ThirdPerson".
blueprint_only: esclude la cartella Source del template (niente compilazione C++).
plugins: plugin extra da abilitare oltre a quelli di default.
default_map: mappa di avvio, es. "/Game/MyGame/Levels/L_Main".
default_game_mode: GameMode di default (path della classe |
| ue_project_findC | Cerca file .uproject sotto una cartella. |
| ue_project_infoA | Legge un .uproject: versione motore associata, plugin attivi e se il bridge è pronto. |
| ue_project_set_pluginsB | Abilita/disabilita plugin scrivendo nel .uproject (utile su progetti esistenti). Per usare il bridge servono almeno |
| ue_editor_openA | Apre un progetto nell'editor e attende che il bridge risponda. L'attesa predefinita è breve di proposito: molti client MCP interrompono una
richiesta dopo 60 secondi, e un Args: uproject: percorso del file .uproject. engine_version: forza una versione del motore diversa da quella associata. wait_seconds: quanto attendere il bridge. Il primo avvio compila gli shader e può volerci molto di più: in quel caso non alzarlo oltre il timeout del client, si fa polling con ue_editor_status. extra_args: argomenti aggiuntivi per la riga di comando dell'editor. engine_root: percorso del motore, quando non è registrato nel sistema. skip_module_check: lancia anche se i moduli C++ non corrispondono al motore (l'editor resterà bloccato su una modale dietro allo splash). |
| ue_cpp_class_createA | Genera una classe C++ compilabile nel modulo del progetto. È la risposta al limite principale di questo MCP: i grafi Blueprint non sono scrivibili da Python, ma la logica può stare in C++ e arrivare ai Blueprint per ereditarietà. Flusso completo: Se il progetto è Blueprint-only, il modulo C++ (Build.cs, Target.cs, IMPLEMENT_PRIMARY_GAME_MODULE, voce Modules nel .uproject) viene creato. Args:
uproject: percorso del file .uproject.
class_name: nome senza prefisso, es. "DoorBase" -> ADoorBase.
parent_class: "Actor", "Pawn", "Character", "ActorComponent",
"GameModeBase", "PlayerState", ...
module: nome del modulo C++; default il nome del progetto.
properties: lista di dict con |
| ue_build_startA | Avvia la compilazione del modulo C++ del progetto (in background). L'editor deve essere chiuso: con Live Coding attivo UnrealBuildTool si rifiuta di scrivere le DLL, e per un modulo nuovo Live Coding non è sufficiente. Sequenza tipica: ue_editor_close -> ue_build_start -> ue_build_status (finché running=false) -> ue_editor_open. Args: uproject: percorso del file .uproject. engine_version: forza una versione del motore diversa da quella associata. target: default "Editor". configuration: "Development" | "DebugGame" | "Shipping". engine_root: percorso del motore, quando non è registrato nel sistema e la ricerca automatica non lo trova. force: avvia anche se risulta già una compilazione in corso. Serve solo quando la precedente è rimasta bloccata e ne hai chiuso i processi: due Build.bat insieme si accodano sullo stesso mutex. |
| ue_build_statusA | Stato della compilazione avviata con ue_build_start: in corso, errori, coda del log. Args: tail_lines: quante righe finali del log restituire. uproject: a quale progetto si riferisce; se omesso, l'ultima compilazione avviata. wait_seconds: se > 0 attende la fine della compilazione fino a questo limite, riportando l'avanzamento, invece di restituire subito. Una build completa dura minuti: meglio un'attesa sola che venti letture. |
| ue_live_compileA | Ricompila il C++ senza chiudere l'editor, tramite Live Coding. È la via veloce per iterare: nessuna chiusura, nessun riavvio, il gioco riparte con il codice nuovo. Funziona però solo sulle modifiche al corpo delle funzioni: aggiungere o cambiare UCLASS, UFUNCTION o UPROPERTY altera i dati di reflection e richiede ue_build_start a editor chiuso. Args: max_wait_seconds: quanto attendere l'esito prima di restituire "in corso" (la compilazione prosegue comunque). |
| ue_package_startA | Crea il pacchetto giocabile del gioco (cook + build + stage + pak). Produce un eseguibile autonomo, avviabile senza l'editor. Operazione lunga (decine di minuti al primo giro, molto meno dopo): parte in background, lo stato si consulta con ue_package_status. L'editor deve essere chiuso. Sequenza: ue_editor_close -> ue_package_start -> ue_package_status (finché running=false). Args: uproject: percorso del file .uproject. configuration: "Development" (con log e console, per il prototipo) o "Shipping" (ottimizzato, senza log, per la distribuzione). maps: mappe da cuocere, es. ["/Game/MyGame/Levels/L_Main"]. Se omesso cuoce secondo le impostazioni di progetto, che è più lento. output_dir: cartella di destinazione; default /Packaged. dedicated_server: produce anche un server dedicato per le partite LAN. engine_root: percorso del motore, se la ricerca automatica non lo trova. target_platform: "Win64" | "Linux" | "Mac"; default la piattaforma corrente. |
| ue_package_statusA | Stato del packaging avviato con ue_package_start. Riporta la fase corrente (Cook, Stage, Package, Archive), gli errori e, a fine corsa, il percorso dell'eseguibile prodotto. Args: tail_lines: quante righe finali del log restituire. uproject: a quale progetto si riferisce; se omesso, l'ultimo packaging avviato. wait_seconds: se > 0 attende la fine del packaging fino a questo limite, riportando la fase corrente, invece di restituire subito. |
| ue_build_unblockA | Trova — e se vuoi termina — i processi che tengono occupato il lock di build. Serve quando ue_build_status riporta La ricerca è sulla riga di comando, non sul nome dell'immagine: su UE 5
UnrealBuildTool è un assembly .NET dentro Args:
dry_run: con True (default) elenca soltanto. La ricerca per riga di
comando può intercettare un |
| ue_editor_statusB | Stato del processo editor avviato da questo MCP e del bridge Remote Control. |
| ue_editor_closeA | Chiude l'editor. Prima tenta la chiusura pulita (salvataggio + Args: save_all: salva livello e asset modificati prima di chiudere. force: salta il tentativo pulito e termina direttamente il processo. |
| preset_library_listA | Elenca i file già scaricati nella libreria locale (default: ~/UnrealAssetLibrary). I percorsi restituiti si passano direttamente a ue_import_assets. |
| preset_download_urlB | Scarica un file da un URL diretto (zip, glb, fbx, wav) nella libreria locale. Se è un archivio zip/tar e |
| preset_extract_archiveB | Estrae un archivio zip/tar già presente sul disco (i .rar non sono supportati). |
| preset_search_polyhavenB | Cerca asset CC0 su Poly Haven. Args: asset_type: "hdris" | "textures" | "models". categories: filtri, es. ["brick"], ["outdoor"]. limit: massimo di risultati. |
| preset_download_polyhavenA | Scarica un asset Poly Haven (CC0) nella libreria locale. Args: asset_id: id dell'asset, es. "brick_wall_02". resolution: "1k" | "2k" | "4k" | "8k". formats: ["jpg"] per texture, ["gltf"] per modelli, ["hdr"] per HDRI. destination: cartella alternativa alla libreria. |
| preset_search_ambientcgB | Cerca materiali/HDRI/modelli CC0 su ambientCG. Args: query: parole chiave, es. "concrete". asset_type: "Material" | "HDRI" | "3DModel" | "Decal" | "Atlas" | "Terrain". |
| preset_download_ambientcgC | Scarica ed estrae un asset ambientCG (CC0). Args: asset_id: es. "PavingStones036". variant: es. "1K-JPG", "2K-JPG", "4K-PNG". |
| preset_download_kenneyB | Scarica ed estrae un pack Kenney (CC0) risolvendo il link dalla pagina. Args: slug: ultima parte dell'URL, es. "mini-characters-1" per kenney.nl/assets/mini-characters-1. |
| preset_fab_list_vaultA | Elenca il contenuto Unreal acquistato sull'account Epic (Fab/Marketplace). Non esiste un'API pubblica: serve il client community |
| preset_fab_downloadB | Scarica un asset del vault Epic tramite Args: app_name: identificativo restituito da preset_fab_list_vault. |
| ue_statusA | Verifica la connessione all'editor Unreal e restituisce versione motore, progetto aperto, livello corrente, numero di attori e trasporto in uso. Da usare per prima. |
| ue_read_logA | Legge la coda del log di Unreal: è il modo per vedere cosa è andato storto dopo un'operazione che non ha sollevato eccezioni. Args: lines: quante righe finali restituire (default 80). only_errors: se True filtra solo righe con Error/Warning. |
| ue_exec_pythonA | Esegue codice Python arbitrario dentro l'editor Unreal (escape hatch). Il modulo Args: code: snippet Python, es. "result = len(mcp_actor_subsystem().get_all_level_actors())". |
| ue_save_allA | Salva il livello corrente e tutti gli asset modificati. |
| ue_import_assetsA | Importa file 3D/audio (.glb, .gltf, .fbx, .wav) nel Content Browser. I .glb/.gltf passano dal framework Interchange nativo. Per i personaggi con scheletro usare .fbx con import_as_skeletal=True. Args: files: percorsi assoluti sul disco (es. ["C:/Assets/Rocks/rock_01.glb"]). destination: cartella Unreal di destinazione (/Game/...). replace_existing: sovrascrive asset con lo stesso nome. import_as_skeletal: per .fbx, importa come Skeletal Mesh con animazioni. |
| ue_list_assetsA | Elenca gli asset presenti sotto un path del Content Browser. Args: path: cartella Unreal (es. "/Game/MyGame"). recursive: include le sottocartelle. class_filter: filtro parziale sul nome classe (es. "Blueprint", "StaticMesh"). |
| ue_delete_assetA | Elimina un asset o una cartella dal Content Browser. Serve per rimediare a un import sbagliato senza aprire l'editor a mano. Di default rifiuta la cancellazione se qualcosa referenzia l'asset: cancellarlo comunque lascia riferimenti rotti nei livelli e nei Blueprint. Args: path: es. "/Game/Imported/rock_01" oppure una cartella "/Game/Imported". force: cancella anche se referenziato. |
| ue_rename_assetA | Sposta o rinomina un asset aggiornando i riferimenti. Args: path: percorso attuale, es. "/Game/Imported/SM_rock". new_path: percorso nuovo, es. "/Game/MyGame/Meshes/SM_Roccia". |
| ue_duplicate_assetC | Duplica un asset: la via rapida per crearne una variante da modificare. |
| ue_make_folderA | Crea una cartella nel Content Browser. Idempotente. Args: path: es. "/Game/MyGame/Meshes". |
| ue_attach_actorA | Aggancia un attore a un altro: muovendo il padre si muove il figlio. È il modo in cui si compone una scena (le luci a un lampione, le casse su un pallet) invece di lasciare oggetti slegati da riposizionare uno per uno. Args: child_label: label dell'attore da agganciare. parent_label: label dell'attore padre. socket: nome del socket sul padre, se ne ha. attach_rule: "KEEP_WORLD" (resta dov'è), "KEEP_RELATIVE" o "SNAP_TO_TARGET" (si allinea al padre). |
| ue_detach_actorA | Sgancia un attore dal suo padre. Args: label: label dell'attore. keep_world: mantiene la posizione nel mondo invece di quella relativa. |
| ue_actor_hierarchyA | Albero padre/figli degli attori del livello. Args: label: se indicato, parte da quell'attore invece che dalle radici. |
| ue_new_levelB | Crea un nuovo livello e lo apre. Args: path: path completo del livello, es. "/Game/MyGame/Levels/L_Main". template: livello sorgente da duplicare (opzionale). |
| ue_open_levelA | Apre un livello esistente nell'editor. Args: path: es. "/Game/MyGame/Levels/L_Main". |
| ue_spawn_actorB | Spawna un attore nel livello corrente. Args: class_ref: "StaticMeshActor", "/Script/Engine.PointLight", "/Game/MyGame/BP_Enemy", oppure il path di uno StaticMesh importato (spawn diretto della mesh). location: [x, y, z] in cm. rotation: [pitch, yaw, roll] in gradi. scale: [x, y, z] moltiplicatore. label: etichetta leggibile nell'Outliner (usata dagli altri tool per ritrovarlo). |
| ue_list_actorsC | Elenca gli attori del livello corrente, con filtri opzionali su nome e classe. |
| ue_spawn_manyA | Spawna molti attori in una sola chiamata e in una sola transazione undo. Costruire un livello con ue_spawn_actor costa un round-trip HTTP per attore: per una scena di qualche decina di elementi conviene questo. Args:
actors: lista di dict con |
| ue_set_actor_transformC | Modifica posizione/rotazione/scala di un attore identificato dalla sua label. |
| ue_set_actor_propertyA | Imposta proprietà su un attore già piazzato, o su un suo componente. Copre tutto ciò che non sono i Class Defaults di un Blueprint: assegnare una mesh a uno StaticMeshActor, l'intensità di una luce, il raggio di un trigger. I valori seguono il JSON: un vettore è {"x":0,"y":0,"z":0}, un colore {"r":1,"g":0,"b":0}, e il path di un asset (/Game/...) viene caricato in automatico. Args: label: etichetta dell'attore nell'Outliner. properties: mappa nome_proprieta -> valore. component: nome o classe del componente su cui scrivere (es. "StaticMeshComponent"); se omesso scrive sull'attore. |
| ue_list_actor_componentsB | Elenca i componenti di un attore piazzato, con nome e classe. Serve a sapere cosa passare come |
| ue_delete_actorC | Elimina dal livello corrente l'attore con la label indicata. |
| ue_create_blueprintB | Crea un Blueprint. Args: package_path: cartella, es. "/Game/MyGame/Blueprints". name: nome asset, es. "BP_CornerSlot". parent_class: "Actor", "Character", "Pawn", "GameModeBase", "PlayerState", "GameStateBase", "AIController" o un path completo. |
| ue_add_componentA | Aggiunge un componente a un Blueprint e lo ricompila. Args: blueprint_path: es. "/Game/MyGame/Blueprints/BP_Door". component_class: es. "StaticMeshComponent", "BoxComponent", "PointLightComponent". name: nome del componente nel Blueprint. |
| ue_add_variableA | Aggiunge una variabile membro a un Blueprint e ricompila. Richiede UE 5.4+
(l'API Python per le variabili non esiste nei motori precedenti; ue_status
riporta in Args: blueprint_path: path del Blueprint. var_name: nome variabile, es. "OccupiedBy". var_type: bool | int | int64 | float | string | name | text | struct | object | class. sub_type: per struct ("Vector", "Rotator", "Transform", "LinearColor") o per object/class il nome della classe ("Actor", "PlayerState"). replicated: marca la variabile come replicata (networking). instance_editable: esposta e modificabile sulle istanze nel livello. default_value: valore di default scritto nei Class Defaults (solo tipi semplici). |
| ue_set_class_defaultsB | Imposta i Class Defaults (CDO) di un Blueprint. Args: blueprint_path: path del Blueprint. properties: mappa nome_proprieta -> valore, es. {"replicates": true}. |
| ue_compile_blueprintB | Compila e salva un Blueprint. Usare dopo modifiche manuali nell'editor. |
| ue_reparent_blueprintA | Riassegna il parent di un Blueprint, tipicamente a una classe C++. È la via per dare logica eseguibile a un Blueprint: i grafi non sono scrivibili da Python, ma la logica può stare nella classe C++ padre (creata con ue_cpp_class_create) mentre il Blueprint resta il contenitore di componenti e valori. Le variabili del Blueprint con lo stesso nome di una UPROPERTY del nuovo
padre vengono assorbite; le altre sopravvivono rinominate con Args: blueprint_path: es. "/Game/MyGame/Blueprints/BP_Door". new_parent: nome o path della nuova classe padre, es. "ADoorBase" oppure "/Script/MyGame.DoorBase". remove_unused_variables: ripulisce le variabili rimaste orfane. |
| ue_create_materialA | Crea un materiale collegando le texture ai canali PBR. A differenza dei grafi Blueprint, il grafo materiale è pienamente scriptabile: qui i nodi vengono creati e collegati davvero. Args: package_path: cartella, es. "/Game/MyGame/Materials". name: nome asset, es. "M_Brick". textures: mappa canale -> path della texture importata. Canali: base_color, normal, roughness, metallic, ambient_occlusion, emissive, opacity. Usa la chiave "auto" con il path per far dedurre il canale dal nome file (convenzioni ambientCG/Poly Haven). scalars: costanti sui canali senza texture, es. {"roughness": 0.4}. two_sided: disattiva il backface culling. |
| ue_create_material_instanceA | Crea una Material Instance da un materiale padre e ne imposta i parametri. Variare un materiale via istanza non ricompila il grafo: è la via economica per avere molte varianti dello stesso materiale. Args: package_path: cartella di destinazione. name: es. "MI_Brick_Red". parent_path: materiale padre, es. "/Game/MyGame/Materials/M_Brick". parameters: mappa nome -> valore. Numero = scalare, dict {"r","g","b"} = colore, bool = static switch, path /Game/... = texture. |
| ue_assign_materialB | Assegna un materiale a un attore piazzato. Args: label: etichetta dell'attore nell'Outliner. material_path: es. "/Game/MyGame/Materials/M_Brick". slot: indice dello slot materiale sulla mesh. component: componente su cui scrivere; default il primo MeshComponent. |
| ue_console_commandA | Esegue un comando della console dell'editor e restituisce ciò che stampa. I comandi di console non restituiscono valori: scrivono nel log. Questo tool misura il log prima e dopo e riporta solo le righe nuove, altrimenti la risposta sarebbe "fatto" e nient'altro. Utile per Args: command: il comando, es. "stat fps". wait_seconds: quanto attendere che il motore scriva nel log. |
| ue_render_sequenceA | Renderizza una Level Sequence con la Movie Render Queue, in background. Gira in un processo Args: uproject: percorso del file .uproject. sequence: la Level Sequence, es. "/Game/Cinematics/LS_Intro". config: preset di Movie Pipeline salvato, es. "/Game/Cinematics/MRQ_Preset". È il modo di scegliere formato, risoluzione e cartella di uscita: senza, la MRQ usa le impostazioni predefinite del progetto e potrebbe non scrivere nulla. map_path: livello da caricare; default quello di avvio del progetto. output_dir: dove cercare i file prodotti; default /Saved/MovieRenders. resolution: [larghezza, altezza]; default [1920, 1080]. force: avvia anche se risulta già un render in corso. |
| ue_render_statusA | Stato del render avviato con ue_render_sequence.
Args: tail_lines: quante righe finali del log restituire. uproject: a quale progetto si riferisce; se omesso, l'ultimo render avviato. wait_seconds: se > 0 attende la fine fino a questo limite riportando l'avanzamento, invece di restituire subito. |
| ue_get_cameraA | Posizione e orientamento della camera della viewport dell'editor. Da chiamare prima di spawnare: i livelli veri sono spesso costruiti a migliaia di unità dall'origine, e un attore messo a [0,0,0] finisce fuori campo, invisibile a chi guarda l'editor. |
| ue_set_cameraA | Sposta la camera della viewport. Args: location: [x, y, z] in cm. rotation: [pitch, yaw, roll] in gradi. |
| ue_focus_actorA | Inquadra un attore con la camera, come il tasto F nell'editor. È il complemento di ue_screenshot: senza, si fotografa quello che la camera stava già guardando, che di rado è quello appena costruito. Args: label: attore da inquadrare; se omesso usa la selezione corrente. distance: distanza della camera in cm (default 500). |
| ue_screenshotA | Cattura la viewport dell'editor e restituisce l'immagine all'agente. Senza questo l'agente costruisce alla cieca: è l'unico modo per verificare davvero com'è venuta una scena invece di dedurlo dalle coordinate. Il file resta in /Saved/Screenshots/MCP. La risoluzione predefinita è volutamente modesta: il PNG viaggia in base64 dentro la risposta, e a 1280x720 costa spesso più contesto di quanto l'immagine ne faccia risparmiare. Alzala quando serve leggere un dettaglio. Args: filename: nome file; se omesso ne genera uno con il timestamp. width, height: risoluzione della cattura. return_image: se False restituisce solo il percorso, senza allegare il PNG. |
| ue_set_replicationB | Configura la replication di un Blueprint: se e come viene sincronizzato fra server e client in una partita in rete. |
| ue_set_net_configA | Regola quanto costa in banda un attore replicato: dormancy, frequenza
di aggiornamento, priorità e relevancy. Solo i parametri passati vengono toccati, gli altri restano come sono. Args: blueprint_path: Blueprint Actor da configurare. dormancy: "awake" | "initial" | "dormant_all" | "dormant_partial" | "never". "initial" è la scelta giusta per attori di scena che non cambiano mai dopo lo spawn: smettono di consumare banda finché non li si risveglia. net_update_frequency: aggiornamenti al secondo quando è rilevante (default UE 100). min_net_update_frequency: minimo a cui l'engine può scendere (default UE 2). net_priority: peso relativo nella coda di replication (default UE 1.0). net_cull_distance: distanza in cm oltre la quale il client smette di riceverlo (default UE 15000). Scritta come quadrato, che è come Unreal la memorizza. only_relevant_to_owner: replica solo al client che lo possiede. net_use_owner_relevancy: eredita la relevancy dall'owner. net_load_on_client: se False l'attore non viene creato sui client al caricamento del livello. |
| ue_net_infoC | Stato di rete completo di un Blueprint: replication, dormancy, frequenze, priorità, relevancy e quali componenti replicano. |
| ue_set_component_replicationA | Attiva la replication di un singolo componente di un Blueprint. Un attore replicato non replica automaticamente i suoi componenti: le proprietà di un componente arrivano ai client solo se il componente è marcato come replicato. Args:
blueprint_path: Blueprint che contiene il componente.
component_name: nome come si vede nell'editor (il suffisso
|
| ue_set_component_defaultA | Scrive una proprietà sul template di un componente di un Blueprint, non su un'istanza piazzata nel livello. È la via per le proprietà Args:
blueprint_path: Blueprint che contiene il componente.
component_name: nome come si vede nell'editor.
property_name: nome della proprietà (snake_case o PascalCase secondo
quanto accetta la classe).
value: valore JSON; dict con x/y/z, pitch/yaw/roll o r/g/b vengono
convertiti nei tipi Unreal corrispondenti, e i path |
| ue_configure_pieA | Configura il Play In Editor multi-client, per provare il multiplayer in locale. Args: num_players: numero di finestre client (server incluso in listen_server). net_mode: "standalone" | "listen_server" | "client". one_process: True = più finestre nello stesso processo (più veloce da avviare). |
| ue_start_pieB | Avvia il Play In Editor con le impostazioni correnti. |
| ue_stop_pieA | Ferma la sessione Play In Editor in corso. |
| ue_set_project_settingA | Scrive un'impostazione nei file Config/Default.ini del progetto. Args: section: es. "/Script/EngineSettings.GameMapsSettings". key: es. "GlobalDefaultGameMode". value: es. "/Game/MyGame/Blueprints/BP_MyGameMode.BP_MyGameMode_C". config: "Game" | "Engine" | "Input". Nota: alcune impostazioni richiedono il riavvio dell'editor per avere effetto. |
| ue_import_audioC | Importa file .wav come SoundWave nel Content Browser. |
| ue_create_metasound_sourceB | Crea un asset MetaSound Source vuoto (richiede il plugin MetaSound attivo). Il grafo va poi popolato nell'editor MetaSound o via ue_exec_python. |
| ue_create_sound_cueB | Crea un Sound Cue, opzionalmente già collegato a un SoundWave importato. Args: package_path: es. "/Game/MyGame/Audio". name: es. "SC_Explosion". wave_path: path del SoundWave, es. "/Game/MyGame/Audio/explosion". |
| ue_find_classesA | Elenca le classi (native e Blueprint) derivate da una classe base, base inclusa. Copre il caso "che sottoclassi di Character esistono nel progetto?" o "elencami le luci disponibili": la Blueprint del progetto compare col suo nome generato (es. "BP_PlayerCharacter_C"). Args: parent: nome esposto ai binding Python (es. "Character", "Actor") o percorso completo (es. "/Script/Engine.Light", "/Game/.../BP_Nemico.BP_Nemico_C"). name_contains: filtro case-insensitive sul nome, opzionale. limit: massimo numero di risultati. |
| ue_find_structsA | Elenca gli struct derivati da uno struct base, base incluso. Args: parent: nome esposto ai binding Python (es. "Vector") o percorso completo (es. "/Script/CoreUObject.Vector"). name_contains: filtro case-insensitive sul nome, opzionale. limit: massimo numero di risultati. |
| ue_reflect_enumA | Elenca nome, valore numerico e display name di un enum nativo del motore. Il nome va passato senza il prefisso "E" delle UENUM C++: "CollisionChannel",
non "ECollisionChannel". Non copre gli enum definiti come Blueprint asset
( Args: enum_name: es. "CollisionChannel", "ObjectTypeQuery". |
| ue_create_widget_blueprintA | Crea un asset Widget Blueprint (UMG) vuoto. L'albero nasce senza radice, e Args: package_path: es. "/Game/UI". name: es. "WBP_MainMenu". parent_class: nome esposto ai binding Python (es. "UserWidget") o percorso completo di una classe C++ del progetto, per la via BindWidget. editor_utility: True per un Editor Utility Widget (tool per l'editor, non per il gioco) invece di un Widget Blueprint normale. |
| ue_umg_tree_infoA | La gerarchia dei widget di un Widget Blueprint: nomi, classi, figli e tipo di slot.
|
| ue_umg_add_widgetA | Crea un widget e lo mette sotto un pannello dell'albero. Args:
widget_blueprint_path: es. "/Game/UI/WBP_MainMenu".
widget_class: "TextBlock", "Button", "Image", "VerticalBox",
"HorizontalBox", "CanvasPanel", "Overlay", "Border", "ProgressBar"…
parent: nome del pannello che lo conterrà; se omesso, la radice.
Dev'essere un PanelWidget: un TextBlock non può contenere nulla.
name: nome del widget, quello che si vedrà in Hierarchy e che serve
per |
| ue_umg_set_widget_propertyA | Imposta proprietà su un widget: testo, colore, visibilità, immagine. Le proprietà di testo sono Restituisce |
| ue_umg_set_slotA | Imposta il layout di un widget dentro il suo pannello. Le chiavi valide dipendono dal pannello che lo contiene, e
Le liste di 2 numeri diventano |
| ue_umg_remove_widgetA | Toglie un widget dall'albero, con tutto quello che contiene. La radice non si può togliere ( |
| ue_bp_list_graphsB | Elenca i grafi di un Blueprint (EventGraph, UserConstructionScript, funzioni...). Args: blueprint_path: es. "/Game/MyGame/BP_Player". |
| ue_bp_list_eventsA | Elenca gli eventi visibili su un Blueprint: custom, ereditati overridabili, di interfaccia.
Args: blueprint_path: es. "/Game/MyGame/BP_Player". |
| ue_bp_add_event_overrideA | Aggiunge (o ritrova) il nodo di un evento ereditato overridabile nell'event graph. Restituisce il path del nodo e i suoi pin — l'unico modo per riferirsi a quel nodo in seguito con ue_bp_connect_pins, dato che il grafo non elenca i propri nodi via Python. Args: blueprint_path: es. "/Game/MyGame/BP_Player". event_name: nome dell'evento ereditato, es. "ReceiveBeginPlay", "ReceiveTick", "ReceiveEndPlay". Vedi ue_bp_list_events per i nomi disponibili su questo Blueprint. x: posizione orizzontale del nodo nel grafo (solo visuale). y: posizione verticale del nodo nel grafo (solo visuale). |
| ue_bp_add_function_graphA | Crea un grafo funzione vuoto (nodi Entry/Return di default). I nodi interni non sono raggiungibili da qui: il corpo va scritto a mano nel Blueprint Editor, o lasciato vuoto come slot da riempire in seguito. Args: blueprint_path: es. "/Game/MyGame/BP_Player". func_name: es. "ApriPorta". |
| ue_bp_graph_infoA | Nodi, pin, connessioni ed errori di compilazione di un grafo Blueprint. È il punto di partenza: dà i nomi oggetto dei nodi da usare in tutti gli
altri tool, e Args:
blueprint_path: es. "/Game/MyGame/BP_Player".
graph_name: nome oggetto del grafo ("EventGraph",
"UserConstructionScript", o il nome di una funzione), non il
titolo tradotto. |
| ue_bp_add_call_functionA | Aggiunge un nodo di chiamata a funzione e restituisce i suoi pin. Args: blueprint_path: Blueprint da modificare. function_path: "/Script/.:", per esempio "/Script/Engine.KismetSystemLibrary:PrintString" o "/Script/Engine.GameplayStatics:GetPlayerPawn". graph_name: grafo di destinazione. position: {"x": .., "y": ..} o [x, y], solo estetica. |
| ue_bp_add_branchC | Aggiunge un nodo Branch (if/then/else): pin |
| ue_bp_add_custom_eventA | Aggiunge un Custom Event. Solo nei grafi evento: una funzione non può contenerne. |
| ue_bp_add_variable_nodeA | Aggiunge un nodo Get o Set per una variabile membro. La variabile dev'essere già stata creata con Args: blueprint_path: Blueprint da modificare. variable_name: nome della variabile. mode: "get" o "set". graph_name: grafo di destinazione. position: {"x": .., "y": ..} o [x, y]. class_path: per leggere una variabile di un'altra classe; vuoto = questo Blueprint. |
| ue_bp_add_node_by_nameA | Aggiunge un nodo qualunque dalla palette, per "Categoria|Nome". Ultima spiaggia per i nodi che non hanno un tool dedicato. I nomi sono
localizzati come l'editor: su un editor italiano il Branch è
"Utilità|ControlloDiFlusso|Ramo", non "Utilities|FlowControl|Branch".
Cerca la stringa esatta con |
| ue_bp_list_paletteA | Cerca fra i nodi aggiungibili a un grafo, filtrando per sottostringa. La palette completa ha migliaia di voci e segue la lingua dell'editor:
filtrare è l'unico modo pratico di trovare il nome esatto da passare a
Args: blueprint_path: Blueprint di riferimento. graph_name: grafo di cui si vuole la palette. contains: sottostringa da cercare, senza distinzione di maiuscole. limit: quante corrispondenze restituire. |
| ue_bp_connectA | Collega un pin di uscita di un nodo a un pin di ingresso di un altro. Args:
blueprint_path: Blueprint da modificare.
from_node: nome oggetto del nodo di partenza, o Se i tipi non sono compatibili il tool lo dice, riportando i due tipi invece di fallire in silenzio. |
| ue_bp_break_pinB | Stacca tutti i collegamenti di un pin, e riporta quanti erano. |
| ue_bp_set_pin_valueA | Scrive il valore letterale di un pin di ingresso non collegato. Unreal non valida il valore: verificato dal vivo che scrivere "non_un_bool" su un pin booleano viene accettato e memorizzato così com'è. Per questo il tool rilegge sempre il pin dopo la scrittura e restituisce il valore vero — controllalo, invece di fidarti del successo. |
| ue_bp_remove_nodeC | Cancella un nodo dal grafo, con tutti i suoi collegamenti. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Stato dell'editor Unreal | Versione motore, progetto, livello corrente, numero di attori e capacità rilevate. |
| Log di Unreal | Ultime 200 righe del log dell'editor. |
| Attori del livello | Gli attori presenti nel livello attualmente aperto. |
| Content Browser | Tutti gli asset sotto /Game del progetto aperto. |
| Motori installati | Le installazioni di Unreal Engine trovate su questa macchina. Non richiede l'editor aperto. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FFZackFair92/unreal-engine-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server