UnrealMCP Plugin
Un complemento no oficial de Unreal Engine que actúa como servidor MCP, permitiendo que herramientas de IA controlen el motor de forma remota.
Documentación
UnrealMCP Plugin
REPOSITORIO MUY EN DESARROLLO
Estoy trabajando en añadir más herramientas ahora y limpiando el código base, planeo permitir una fácil extensión de herramientas fuera del plugin principal
Esto es muy trabajo en progreso, y necesito limpiar muchas cosas!!!!!
Además, solo uso Windows, así que no sé cómo se configuraría esto para mac/unix
Resumen
UnrealMCP es un plugin no oficial de Unreal Engine diseñado para controlar Unreal Engine con herramientas de IA. Implementa un Protocolo de Control de Máquina (MCP) dentro de Unreal Engine, permitiendo que sistemas de IA externos interactúen y manipulen el entorno de Unreal programáticamente.
Solo aprendí sobre MCP hace unos días, así que no estoy muy familiarizado con él, todavía estoy aprendiendo, así que las cosas pueden ser un poco toscas inicialmente. Lo he implementado usando https://github.com/ahujasid/blender-mcp como referencia, que depende de Claude for Desktop. Ahora funciona tanto con Claude for Desktop como con Cursor. Si experimentas con otros modelos, ¡házmelo saber!
⚠️ AVISO
Este plugin permite que agentes de IA modifiquen directamente tu proyecto de Unreal Engine. Aunque puede ser una herramienta poderosa, también conlleva riesgos:
- Los agentes de IA pueden hacer cambios inesperados en tu proyecto
- Los archivos podrían ser eliminados o modificados accidentalmente
- La configuración del proyecto podría ser alterada
- Los activos podrían ser sobrescritos
MEDIDAS DE SEGURIDAD IMPORTANTES:
- Usa siempre control de versiones (como Git o Perforce) con tu proyecto
- Haz copias de seguridad regulares de tu proyecto
- Prueba el plugin en un proyecto separado primero
- Revisa los cambios antes de confirmarlos
Al usar este plugin, reconoces que:
- Eres el único responsable de cualquier cambio realizado en tu proyecto
- El autor del plugin no es responsable de ningún daño, pérdida de datos o problemas causados por agentes de IA
- Usas este plugin bajo tu propio riesgo
Características
- Implementación de servidor TCP para control remoto de Unreal Engine
- Protocolo de comandos basado en JSON para integración de herramientas de IA
- Integración de interfaz de editor para acceso fácil a la funcionalidad MCP
- Capacidades completas de manipulación de escena
- Scripts de Python complementarios para interacción del lado del cliente
Hoja de ruta
Estas son las ideas que tengo para el desarrollo a partir del 14/03/2025 No estoy seguro de qué es posible todavía, en teoría cualquier cosa, pero depende de qué tan bueno sea el LLM integrado para utilizar estas herramientas.
- Operaciones básicas funcionando
- Python funcionando
- Materiales
- Extensiones de usuario (en progreso)
- Herramientas de activos
- Blueprints
- Niagara VFX
- Metasound
- Landscape (podría esperar porque Epic ha mencionado que van a actualizar las herramientas de landscape)
- Herramientas de modelado
- PCG
Requisitos
- Unreal Engine 5.5 (solo he probado en esta versión, puede funcionar con versiones anteriores, pero sin soporte oficial)
- Entorno de desarrollo C++ configurado para Unreal Engine
- Python 3.7+ para scripting del lado del cliente
- Modelo para ejecutar los comandos, en las pruebas he estado usando Claude for Desktop https://claude.ai/download
Requisitos previos para ejecutar
- Instalación de Unreal Editor (probado con 5.3, pero debería funcionar en 5.0+)
- Python 3.7+ (Esto puede ejecutarse con tu instalación de Python existente)
- LLM compatible con MCP (Claude for Desktop, Cursor, etc.)
- Configuración: ejecuta setup_unreal_mcp.bat en la carpeta MCP según las instrucciones en MCP/README_MCP_SETUP.md
Inicio rápido para usuarios de Cursor
Si quieres usar UnrealMCP con Cursor, sigue estos sencillos pasos:
- Clona o descarga este repositorio como un zip
- Crea un nuevo proyecto de Unreal, o abre uno existente
- Crea una carpeta "Plugins" en el directorio de tu proyecto si no existe
- Descomprime o copia este repositorio en la carpeta Plugins
- Ejecuta
setup_cursor_mcp.baten la carpeta MCP - Abre tu proyecto de Unreal y habilita el plugin en Edit > Plugins (si no está habilitado)
- Inicia Cursor y pídele que trabaje con tu proyecto de Unreal
¡Eso es todo! El script de configuración configurará automáticamente todo lo necesario para la integración con Cursor.
Instalación
- Clona o descarga este repositorio como un zip
- Crea un nuevo proyecto de Unreal, o abre uno existente
- Crea una carpeta "Plugins" en el directorio de tu proyecto si no existe
- Descomprime o copia este repositorio en la carpeta Plugins
- Configura MCP
- Ejecuta el script
setup_unreal_mcp.baten la carpeta MCP (verMCP/README_MCP_SETUP.mdpara detalles) - Esto configurará Python y tu asistente de IA (Claude for Desktop o Cursor)
- Ejecuta el script
- Abre tu proyecto de Unreal, el plugin debería estar disponible en el menú Plugins
- Si no, habilita el plugin en Edit > Plugins
- Elige tu asistente de IA preferido:
- Para Claude for Desktop: sigue las instrucciones en la sección "Con Claude for Desktop" a continuación
- Para Cursor: sigue las instrucciones en la sección "Con Cursor" a continuación
Con Claude for Desktop
Necesitarás encontrar tu directorio de instalación de Claude for Desktop. Encuentra claude_desktop_config.json y añade una entrada para que se vea así:
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"unreal": {
"command": "C:/path/to/your/project/Plugins/UnrealMCP/MCP/run_unreal_mcp.bat",
"args": []
}
}
}
Alternativamente, el script unreal_mcp_setup.bat debería hacer esto por ti.
Para encontrar la ruta a tu instalación de Claude for Desktop, puedes ir a configuración y hacer clic en 'Edit Config' Esto suele estar en
C:\Users\USERNAME\AppData\Roaming\Claude
Con Cursor
Cursor debería configurarse automáticamente si has ejecutado el script de configuración con la opción de Cursor. Si necesitas configurarlo manualmente:
Windows: %APPDATA%\Cursor\User\settings.json
Añade o actualiza la configuración con:
{
"mcp": {
"enabled": true,
"servers": {
"unreal": {
"command": "C:/path/to/your/project/Plugins/UnrealMCP/MCP/run_unreal_mcp.bat",
"args": []
}
}
}
}
Pruebas
Una vez que todo esté configurado, necesitas lanzar el editor de Unreal. Nota: No hay que iniciar ni configurar nada más para ejecutar el puente MCP, se ejecutará cuando sea necesario.
Abre Claude for Desktop o Cursor, asegúrate de que las herramientas se hayan habilitado correctamente, pide a tu asistente de IA que trabaje en Unreal.
Aquí tienes algunos ejemplos de prompts para probar:
- "¿Qué actores hay en el nivel actual?"
- "Crea un cubo en la posición (0, 0, 100)"
- "Lista los comandos disponibles que puedo usar con Unreal Engine"
Uso
En Unreal Editor
Una vez que el plugin esté habilitado, encontrarás los controles MCP en el botón de la barra de herramientas del editor.
El servidor TCP se puede iniciar/detener desde aquí. Revisa el registro de salida bajo el filtro de registro LogMCP para obtener información adicional.
Una vez que el servidor esté confirmado y funcionando desde el editor. Abre Claude for Desktop, asegúrate de que las herramientas se hayan habilitado correctamente, pide a Claude que trabaje en Unreal.
Actualmente solo se admiten operaciones básicas: crear objetos, modificar sus transformaciones, obtener información de la escena y ejecutar scripts de Python. Claude comete muchos errores con Python de Unreal, ya que creo que no hay muchos ejemplos para ello, pero déjalo correr y normalmente lo resolverá. Me gustaría mucho mejorar este aspecto de cómo funciona, pero es fruta de bajo esfuerzo para añadir funcionalidad a Unreal.
Integración del lado del cliente
Usa los scripts de Python proporcionados en el directorio MCP para conectarte y controlar tu instancia de Unreal Engine:
from unreal_mcp_client import UnrealMCPClient
# Connect to the Unreal MCP server
client = UnrealMCPClient("localhost", 13377)
# Example: Create a cube in the scene
client.create_object(
class_name="StaticMeshActor",
asset_path="/Engine/BasicShapes/Cube.Cube",
location=(0, 0, 100),
rotation=(0, 0, 0),
scale=(1, 1, 1),
name="MCP_Cube"
)
Referencia de comandos
El plugin admite varios comandos para la manipulación de escenas:
get_scene_info: Obtener información sobre la escena actualcreate_object: Generar un nuevo objeto en la escenadelete_object: Eliminar un objeto de la escenamodify_object: Cambiar propiedades de un objeto existenteexecute_python: Ejecutar comandos de Python en el entorno de Python de Unreal- Y más por venir...
Consulta la documentación en el directorio Docs para una referencia completa de comandos.
Consideraciones de seguridad
- El servidor MCP acepta conexiones de cualquier cliente por defecto
- Limita la exposición del servidor a localhost para desarrollo
- Valida todos los comandos entrantes para prevenir ataques de inyección
Solución de problemas
- Asegúrate de que Unreal Engine esté ejecutándose con el plugin MCP.
- Revisa los registros en Claude for Desktop para ver la salida de stderr.
- Contacta en el discord, acabo de crearlo, pero lo revisaré periódicamente Discord (Dreamatron Studios): https://discord.gg/abRftdSe
Estructura del proyecto
Source/UnrealMCP/: Implementación principal del pluginPrivate/: Archivos de implementación internaPublic/: Archivos de cabecera públicos
Content/: Activos del pluginMCP/: Scripts de cliente de Python y ejemplosResources/: Iconos y otros recursos
Licencia
Licencia MIT
Copyright (c) 2025 kvick
Se concede permiso, de forma gratuita, a cualquier persona que obtenga una copia de este software y de los archivos de documentación asociados (el "Software"), para tratar en el Software sin restricción, incluidos, sin limitación, los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir a las personas a quienes se les proporcione el Software que lo hagan, sujeto a las siguientes condiciones:
El aviso de copyright anterior y este aviso de permiso deberán incluirse en todas las copias o partes sustanciales del Software.
EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE CUALQUIER RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRA MANERA, QUE SURJA DE, FUERA O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTROS TRATOS EN EL SOFTWARE.
Créditos
- Creado por: kvick
- X: @kvickart
- Discord: https://discord.gg/abRftdSe
¡Gracias a los probadores!!!
-
@sidahuj por la inspiración
Contribuciones
Las contribuciones son bienvenidas, pero necesitaré algo de tiempo para entender las cosas y limpiar primero, jaja