VibeUE

Unreal Engine MCP

Documentación

VibeUE — Desarrollo de Unreal Engine impulsado por IA

🧩 Expansión MCP + Conjunto de Herramientas de IA para el Editor de Unreal Engine 5.8+

https://www.vibeue.com/

Unreal Engine MCP License: MIT Discord Donate

VibeUE es la Expansión MCP + Conjunto de Herramientas de IA para el Editor de Unreal Engine 5.8+. Unreal 5.8 añadió un servidor MCP integrado y conjuntos de herramientas de IA; VibeUE es una Expansión MCP que se conecta directamente a ellos y añade un profundo Conjunto de Herramientas de IA para el Editor — una biblioteca de capacidades del editor — Blueprints, materiales, paisajes, follaje, animación, Niagara, UMG, audio, StateTree, Árboles de Comportamiento y Blackboards, etiquetas de juego, entrada, UVs, rendimiento/perfilado, y más — registradas en el propio servidor ToolsetRegistry y ModelContextProtocol del motor, además de habilidades de dominio enriquecidas servidas a través del sistema nativo AgentSkill de Unreal. Cualquier agente compatible con MCP (Claude Code, Cursor, Copilot, …) controla tu editor a través del endpoint MCP estándar de Unreal.

⚠️ VibeUE requiere que el MCP nativo de Unreal esté configurado primero — habilita el plugin Unreal MCP (que auto-habilita Toolset Registry) y el plugin Editor Tools, luego inicia el servidor MCP. Sigue la guía de Epic: Unreal MCP en el Editor de Unreal. VibeUE luego expande ese endpoint — sin servidor separado y sin chat en el editor. Una clave API gratuita (configurada en Editor Preferences → Plugins → VibeUE) desbloquea las herramientas de terreno del mundo real; todo lo demás funciona sin ella.


✨ Lo que VibeUE añade

Unreal 5.8 incluye sus propios conjuntos de herramientas de IA (Blueprints, materiales, actores, assets, mallas, tablas de datos, …). VibeUE los complementa — se centra en los dominios y la profundidad que el motor no cubre:

  • Terreno y mundo — Esculpido de paisajes/mapas de altura/splines, auto-materiales de paisaje + RVT, follaje, Map Blockout FPS procedural, y terreno del mundo real (mapas de altura + agua desde GPS).
  • Audio — Autoría de gráficos MetaSound y SoundCue.
  • Assets de animación — Edición de keyframes de AnimSequence, autoría de AnimMontage, máquinas de estado de AnimBP, edición de huesos/sockets/retarget/perfiles de mezcla del esqueleto.
  • Profundidad de FX — Autoría de color/curvas de emisores Niagara y módulos Custom-HLSL scratch-pad.
  • UI — Widgets UMG con enlaces MVVM, autoría de animaciones, y validación de vista previa/PIE.
  • Autoría de Blueprints de orden superior — líneas de tiempo, event dispatchers, delegados, pines de eventos personalizados, cajas de comentarios, y un constructor por lotes build_graph.
  • Autoría de comportamiento de IA — Edición de nodos/decoradores/servicios de Árboles de Comportamiento por ruta estructural con enlace de claves de blackboard, round-trips de árboles JSON, y validación/reparación; CRUD completo de assets de Blackboard + claves. Las escrituras pasan por el EdGraph del editor con guardas de rechazo conscientes de PIE y editores abiertos.
  • Seguridad del editorTransactionService envuelve el buffer de transacciones del editor (deshacer / rehacer / checkpoints) para que un agente pueda agrupar y revertir sus propias ediciones — los conjuntos de herramientas del motor no exponen nada de esto.
  • ⚡ Rendimiento y perfilado — Lo más destacado de VibeUE: consulta la sección dedicada a continuación.
  • Acceso primero en Python — ejecuta cualquier Python unreal.* en el editor e inspecciona toda la API.
  • Investigación web — búsqueda / fetch / geocodificación para investigación en contexto y flujos de trabajo de terreno.

Deliberadamente no duplica las herramientas generales del motor (CRUD básico de assets/actores/blueprints/materiales, capturas de pantalla, logs, PIE) — los agentes usan los conjuntos de herramientas nativos de Unreal para eso.


⚡ Rendimiento y Perfilado (buque insignia)

Los conjuntos de herramientas de IA nativos de Unreal tienen cero herramientas de rendimiento — pueden iniciar PIE/Simulate pero no pueden medir nada. El PerformanceService de VibeUE llena ese vacío para que un agente pueda realmente diagnosticar y corregir la tasa de fotogramas:

  • frame_timing() — División de hilos Game/Render/GPU/RHI + un veredicto de cuello de botella CPU-vs-GPU y una pista concreta de siguiente paso. Ejecuta esto primero — optimizar la GPU no hace nada en un fotograma limitado por CPU.
  • Captura de Unreal Insightsstart_trace / stop_trace / get_trace_status, con marcadores bookmark y region_start / region_end.
  • analyse() — lee el trace y el log de vuelta y devuelve un resumen de rendimiento (estadísticas de fotogramas, peores fotogramas, tirones, líneas de log notables).
  • start_standalone adjunto al trace — perfila una compilación independiente representativa, no solo el viewport del editor.
import unreal
print(unreal.PerformanceService.frame_timing())   # CPU vs GPU bound — diagnose FIRST
unreal.PerformanceService.start_trace("cap", "")   # Insights trace
# … reproduce the workload (ideally under PIE / standalone) …
unreal.PerformanceService.stop_trace()
print(unreal.PerformanceService.analyse("both", ""))

Combínalo con las habilidades profiling y frame-rate para el análisis completo de CPU/GPU.


🏗️ Arquitectura

VibeUE se conecta a tres sistemas nativos de UE 5.8+:

  1. Toolsets (ToolsetRegistry) — Los servicios de VibeUE se registran como UToolsetDefinitions, por lo que sus métodos se convierten en herramientas AICallable en el endpoint MCP. También son BlueprintCallable, por lo que los mismos métodos son llamables desde Python como unreal.<Name>Service.<method>().
  2. Servidor MCP (ModelContextProtocol) — Un pequeño conjunto de herramientas de utilidad de VibeUE se registran directamente en el endpoint: execute_python_code, discover_python_module/_class/_function, list_python_subsystems, deep_research, terrain_data.
  3. Habilidades (AgentSkillToolset) — ~36 paquetes de habilidades en markdown se registran como UAgentSkills nativos, descubribles vía ListSkills y cargados perezosamente vía GetSkills, junto a las habilidades del propio motor.

Uso eficiente (para agentes): execute_python_code es el caballo de batalla — agrupa una tarea completa de múltiples pasos en un solo round-trip y alcanza cada servicio de VibeUE más la API completa de unreal.*. Usa call_tool solo para habilidades y los pocos toolsets del motor sin ruta de Python (capturas de pantalla, etc.). Consulta Content/samples/AGENTS.md.sample para la guía completa del agente.


🚀 Instalación y configuración

Requisitos: Unreal Engine 5.8+ · Git

Paso 1 — Configura el MCP nativo de Unreal (haz esto PRIMERO)

VibeUE es una expansión del soporte MCP integrado de Unreal, así que habilita eso primero. Detalles completos en la guía de Epic: Unreal MCP en el Editor de Unreal.

  1. Edit → Plugins → habilita Unreal MCP (esto auto-habilita Toolset Registry) y Editor Tools (los toolsets de IA del propio motor, para que los agentes obtengan ambos). Son Experimentales. Reinicia cuando se te solicite.
  2. Edit → Editor Preferences → General → Model Context Protocol → habilita Auto Start Server (o ejecuta el comando de consola ModelContextProtocol.StartServer). Endpoint predeterminado http://127.0.0.1:8000/mcp (puerto/ruta configurables). Habilitar Tool Search mantiene el contexto de un agente pequeño — ve list_toolsets / describe_toolset / call_tool y carga herramientas bajo demanda.

Paso 2 — Instala VibeUE

cd /path/to/YourProject/Plugins
git clone https://github.com/kevinpbuckley/VibeUE.git

Compila con el script del proyecto:

Plugins/VibeUE/BuildAndLaunchGame.ps1                  # builds + launches the editor
Plugins/VibeUE/BuildAndLaunchGame.ps1 -StrictRebuild   # full recompile (warnings-as-errors)

En Linux o macOS, usa el script de shell que detecta la plataforma:

Plugins/VibeUE/BuildAndLaunchGame.sh --engine /path/to/UE5
Plugins/VibeUE/BuildAndLaunchGame.sh --engine /path/to/UE5 --strict-rebuild

Luego Edit → Plugins → habilita VibeUE y reinicia. Sus servicios, herramientas y habilidades ahora se registran en el mismo endpoint, junto a los del propio motor.

Paso 3 — Conecta tu agente

Dos comandos de consola desde el editor (abre la consola con `):

1. Escribe la configuración del servidor MCP (.mcp.json en la raíz del proyecto):

ModelContextProtocol.GenerateClientConfig ClaudeCode

(soporta ClaudeCode, Cursor, VSCode, Gemini, Codex, o All.)

2. Escribe la guía del agente de VibeUE para que el asistente use los patrones eficientes:

VibeUE.GenerateAgentConfig ClaudeCode

Esto escribe la guía en el archivo correcto para tu agente — CLAUDE.md (Claude Code), GEMINI.md (Gemini), AGENTS.md (Codex / Hermes / Cursor), o .github/copilot-instructions.md (Copilot) — o pasa All para escribir CLAUDE.md + GEMINI.md + AGENTS.md a la vez. Resuelve la ubicación del plugin automáticamente, por lo que funciona tanto si VibeUE se instaló desde FAB o Git. La guía va en un bloque gestionado, así que puedes volver a ejecutarla en cualquier momento para actualizarla sin perturbar tus propias notas. Pasa import para enlazar la guía con un @import de una línea en lugar de copiarla (solo Claude Code / Gemini — otros agentes no resuelven imports, por lo que siempre reciben una copia).

El servidor MCP es solo de loopback sin autenticación — uso solo en la misma máquina (según la documentación de Epic).

La guía enseña: descubre antes de llamar (discover_python_class), agrupa con execute_python_code, carga habilidades vía ListSkills/GetSkills, y cuándo recurrir a deep_research / terrain_data.


🎯 Habilidades

Las habilidades son conocimiento de dominio cargado perezosamente (flujos de trabajo, trampas, formatos de propiedades) servido por el AgentSkillToolset nativo de Unreal:

# discover (summaries only — cheap)
call_tool(tool_name="ListSkills", toolset_name="ToolsetRegistry.AgentSkillToolset")

# load the packs you need (full markdown, lazy)
call_tool(tool_name="GetSkills", toolset_name="ToolsetRegistry.AgentSkillToolset",
          arguments={"skillPaths": ["/VibeUE/Python/init_unreal_PY.VibeUE_blueprints"]})

ListSkills es la fuente de verdad en vivo para lo que está disponible (lee el SKILL.md de cada paquete). Las habilidades te dicen qué hacer y por qué; usa discover_python_class('unreal.<Name>Service', method_filter='…') para firmas exactas antes de escribir código.


🔧 Dependencias del plugin

Prerrequisitos nativos del motor (habilítalos en el Paso 1 — el stack MCP de Epic):

PluginPropósito
Unreal MCP (ModelContextProtocol)El endpoint del servidor MCP nativo
Toolset Registry (ToolsetRegistry)Registro nativo de toolsets de IA + AgentSkill (auto-habilitado por Unreal MCP)
Editor Tools (EditorToolset)Los toolsets de IA del propio motor — VibeUE los complementa

Habilitados automáticamente por VibeUE: PythonScriptPlugin (la API unreal.*), EditorScriptingUtilities, y los plugins de dominio que sus servicios necesitan — Niagara, MetaSound, EnhancedInput, ModelViewViewModel, StateTree, MeshModelingToolset, GameplayTagsEditor. (VibeUE también depende de ToolsetRegistry + ModelContextProtocol, por lo que habilitar VibeUE los incorpora — pero aún así habilitas Editor Tools e inicias el servidor según el Paso 1.)


🛠️ Script de compilación y lanzamiento

BuildAndLaunchGame.ps1 (raíz del proyecto o Plugins/VibeUE/) detiene el editor en ejecución, compila y relanza:

  • -StrictRebuild — recompilación completa del plugin con warnings como errores
  • -Clean — limpia intermediate/binaries primero
  • -SkipBuild — solo relanzar

📚 La API en vivo

VibeUE mantiene intencionalmente sin catálogo estático de métodos en este README — la superficie evoluciona con el motor. Las referencias autorizadas y siempre actuales son:

  • ListSkills → qué dominios existen y cuándo usarlos.
  • discover_python_class('unreal.<Name>Service') → firmas exactas de métodos.
  • describe_toolset('VibeUE.<Name>Service') → las herramientas del toolset + esquemas JSON (pesado en tokens; prefiere habilidades + descubrimiento).

Licencia

MIT — consulta LICENSE. Hogar del proyecto: https://www.vibeue.com/