Crea tu primer nivel jugable de Unreal con Claude Opus 5.5

Un proceso por etapas para creadores independientes: comprobar la conexión real con Unreal, construir y probar un nivel con tres coleccionables, victoria y reinicio, y después decidir si Meshy y Blender aportan valor.

Índice
Crea tu primer nivel jugable de Unreal con Claude Opus 5.5

La recomendación práctica es no conectar Claude Code, Unreal, Meshy y Blender el primer día. Primero demuestra que Claude Code puede leer la instancia de Unreal Editor que está realmente abierta. Después crea un nivel gris que puedas recorrer, en el que recojas tres objetos, ganes y reinicies. Valida cada etapa personalmente en Play. Solo cuando ese ciclo sea estable conviene decidir si un recurso 3D generado o una limpieza en Blender justifican más complejidad.

Este es un proceso basado en documentación, no una afirmación de que el autor haya ejecutado tu proyecto. Epic todavía marca Unreal MCP como Experimental y advierte que las funciones, las API y los formatos de datos pueden cambiar. Por eso aquí una conexión MCP, un resultado correcto de una herramienta y un juego realmente funcional son tres evidencias distintas.

Decide si este método encaja contigo

Funciona mejor para una persona que ya entiende los conceptos básicos de Unreal, mantiene el proyecto bajo control de versiones y acepta probar en Play después de cada cambio pequeño. Claude puede acelerar una tarea que sabes describir e inspeccionar; no puede decidir por sí solo si el movimiento, la cámara, las colisiones o la sensación del juego son aceptables.

SituaciónRecomendación
Entiendes la estructura del proyecto, revisas cambios y pruebas en PlayEmpieza por el prototipo mínimo de esta guía
Solo quieres validar el bucle jugableConserva los primitivos de Unreal; omite Meshy y Blender por ahora
No existe copia ni punto de restauraciónDetente y crea una copia con checkpoints de versión
Esperas un juego acabado a partir de un promptDivide el objetivo en sistemas observables
Solo debes mover un Actor o cambiar un valorNormalmente es más rápido hacerlo a mano

Anthropic presenta Opus 5.5 para programación compleja y trabajo agéntico prolongado. Eso no convierte un resultado visual en algo que se valide solo. Deja que el modelo inspeccione, planifique y ejecute; conserva en manos humanas la aprobación, la observación y la prueba en Play.

Define el resultado mínimo antes de instalar más herramientas

El objetivo tiene solo cuatro requisitos:

  1. El jugador aparece en Player Start y puede seguir una ruta clara hasta el final.
  2. Tres coleccionables visibles incrementan el contador una sola vez, de 0 a 3.
  3. Llegar al final produce victoria únicamente después de recoger los tres.
  4. Pulsar R restaura posición, contador, coleccionables y estado de victoria.

Escríbelos en el brief del proyecto. Para cada lote anota cambio, resultado esperado, resultado real y aprobado/rechazado. Connected no significa jugable. Compilado no significa jugable. Una petición aceptada por una herramienta no significa jugable. Solo una prueba manual en Play demuestra cada puerta.

Puerta 1: conecta Claude Code con el MCP oficial de Unreal

Crea primero un punto de recuperación

Guarda el proyecto y haz commit o shelve del estado actual. El plugin oficial de Epic ofrece a Claude acceso amplio y en vivo al editor, incluida la ejecución de Python dentro del proceso. Su README aconseja tratarlo como código arbitrario generado por un asistente, guardar antes de sesiones largas y revisar el diff.

No uses --dangerously-skip-permissions en un proyecto importante. Aprende en una copia, un sandbox o una rama desechable.

Activa los dos plugins de Unreal

Esta guía sigue la página oficial de Unreal MCP, publicada actualmente bajo Unreal Engine 5.8 Documentation. Da por hecho que tu compilación incluye de verdad Unreal MCP (ModelContextProtocol) y All Toolsets (AllToolsets). No deduzcas que todas las versiones de UE5 contienen los mismos plugins. Si falta cualquiera de ellos, detente y usa una compilación cubierta por la documentación de Epic, sin sustituirla por un MCP comunitario.

Sigue la configuración oficial:

  • En Edit → Plugins, activa Unreal MCP.
  • Activa también All Toolsets. El servidor puede existir sin exponer herramientas útiles si falta.
  • Reinicia el editor.
  • Activa Auto Start Server en Editor Preferences o ejecuta en la consola:
ModelContextProtocol.StartServer

El endpoint local predeterminado es http://127.0.0.1:8000/mcp. No tiene autenticación por defecto ni está pensado para acceso remoto. No publiques el puerto en Internet ni lo uses en un equipo compartido.

Genera la configuración de Claude Code

Ejecuta en la consola de Unreal:

ModelContextProtocol.GenerateClientConfig ClaudeCode

Una instalación del launcher suele escribir .mcp.json junto al .uproject; una compilación desde código puede colocarlo en la raíz del workspace junto a Engine/. Regénéralo si cambias el puerto. Inicia Claude Code desde la raíz que contiene esa configuración.

Instala el plugin oficial de Epic:

/plugin install unreal-engine-skills-for-claude-code@claude-plugins-official

Si falta el marketplace oficial, añádelo primero:

/plugin marketplace add anthropics/claude-plugins-official

Separa el acceso al modelo de Unreal y Meshy

Claude Code puede usar una cuenta Anthropic o una API compatible. Con BetterToken, su guía actual de Claude Code indica que ANTHROPIC_BASE_URL debe ser https://bettertoken.ai sin /v1, y que ANTHROPIC_AUTH_TOKEN se configura localmente. No pegues una clave real en el chat, el repositorio ni el paquete de materiales.

El ID oficial del modelo de Anthropic es claude-opus-5-5. Si enrutas mediante BetterToken, copia el ID exacto del Model Plaza vigente y confirma que esté disponible para el grupo de clave elegido; tras iniciar, verifica el enrutamiento real con /model y los registros del proveedor, no con una configuración antigua copiada.

Verifica una lectura real, no solo un indicador verde

Comprueba las cuatro capas:

  • /plugin muestra el plugin oficial de Unreal;
  • /mcp muestra unreal-mcp;
  • Output Log no contiene errores de puerto o dependencias;
  • un prompt de solo lectura devuelve el nombre real del nivel, los Actor principales y la existencia de Player Start.

La última prueba demuestra que el editor responde. Epic señala que un proxy conectado o herramientas en caché no demuestran que una llamada viva a Unreal vaya a funcionar.

Puerta 2: construye solo un greybox recorrible

Parte de una base en tercera persona que ya sea jugable. Player Start marca una posición de aparición, pero no proporciona por sí solo personaje controlable, GameMode, entrada ni cámara. En un proyecto nuevo usa la plantilla Third Person de Unreal. En uno existente, verifica que el GameMode activo genera un pawn controlable en tercera persona, que el movimiento y la cámara de seguimiento funcionan y que el nivel contiene Player Start.

Antes de cambiar geometría mediante MCP, pulsa Play, no Simulate. Comprueba que aparece un personaje, que WASD lo mueve y que el ratón controla la cámara; después detén PIE. Si algo falla, repara primero esta base en lugar de ocultar el problema dentro del prompt del greybox.

Cuando pase la prueba, pide a Claude que lea el nivel, GameMode, personaje y toolsets disponibles, y que enumere el plan y los assets que modificará. La falta de una herramienta debe detener la tarea. Un límite útil es:

Sobre la base en tercera persona que ya superó Play, crea un greybox mínimo en el nivel actual. Conserva el personaje, GameMode, input mappings y cámara existentes; no los sustituyas ni los reconstruyas. Usa primitivos para el suelo, límites, una ruta clara y un marcador final. No añadas enemigos, assets artísticos ni UI compleja. Informa de cada asset creado o modificado. Detente si falta una herramienta, falla la compilación o el resultado no es un éxito explícito.

Durante la ejecución:

  • Serializa los cambios dependientes sobre el mismo asset o estado del editor.
  • Espera a que termine la compilación de C++, Blueprint o shader; una solicitud aceptada no es una compilación terminada.
  • Lee el estado de cada resultado y detente ante cualquier cosa que no sea éxito explícito.

Prueba Play A: vuelve a pulsar Play, comienza con el personaje generado en Player Start y recorre toda la ruta. No debe salir de los límites, atascarse en un hueco ni saltar un obstáculo invisible. Corrige solo el fallo observado, sin rediseñar cámara, materiales o ruta.

Guarda, crea un commit y marca un punto de recuperación cuando pase.

Puerta 3: añade tres coleccionables

El siguiente lote añade solo las reglas de recogida y protege la ruta aprobada:

Añade tres coleccionables claramente visibles y separados a lo largo de la ruta. El contacto debe activarse una vez, ocultar o eliminar el objeto y llevar un contador legible de 0 a 3. No muevas Player Start, la ruta, los límites ni el final. Informa de Blueprints, variables, eventos y recursos de UI, y entrega una lista de pruebas Play.

Prueba Play B: recógelos en orden normal e inverso; cada uno suma una vez; la secuencia es 1, 2, 3; volver a una ubicación antigua no suma; una nueva sesión de Play empieza en 0.

Si Claude informa «terminado» pero el contador no cambia en Play, la puerta ha fallado. Registra el comportamiento y Output Log, pide diagnóstico y después una única corrección estrecha.

Puerta 4: victoria y reinicio

El último lote jugable añade solo finalización y reset:

Llegar al final muestra victoria solo cuando el contador es 3. Con menos objetos no debe ganar. Pulsar R reinicia el nivel y restaura posición, los tres coleccionables, contador y UI de victoria. Conserva ruta e input. Informa de los cambios y entrega una lista de cinco pasos para Play.

Prueba Play C:

  1. Llega con dos objetos: no hay victoria.
  2. Recoge tres y llega: aparece victoria.
  3. Pulsa R a mitad: todo se restaura.
  4. Pulsa R tras ganar: todo se restaura.
  5. Recoge en otro orden: el comportamiento sigue correcto.

Solo ahora tienes un primer nivel jugable. Guarda, haz commit y conserva una versión estable sin arte externo.

Añade Meshy o Blender solo después de aprobar el greybox

Son ramas opcionales, no requisitos iniciales.

Meshy solo cuando un objeto distintivo merece el coste

Sigue siendo una rama opcional. El servidor MCP oficial de Meshy requiere un MESHY_API_KEY válido; las claves API exigen un plan de pago elegible y las solicitudes usan credits API prepagados. El plan o saldo mostrado en la aplicación web no demuestra por sí solo que la API esté habilitada o tenga saldo. Antes de generar, llama a meshy_check_balance.

Para Claude Code en Bash, usa esta configuración local. Introduce la clave sin mostrarla y no la pegues en el chat ni hagas commit de la configuración local resultante:

read -rs MESHY_API_KEY && export MESHY_API_KEY
claude mcp add-json meshy "{\"command\":\"npx\",\"args\":[\"-y\",\"@meshy-ai/meshy-mcp-server\"],\"env\":{\"MESHY_API_KEY\":\"${MESHY_API_KEY}\"}}"
unset MESHY_API_KEY

Después usa /mcp para comprobar que meshy está conectado, pide la lista de herramientas y llama a meshy_check_balance. Estas comprobaciones no crean una tarea de generación. Detente si la clave, el plan o el saldo API no sirven.

Usa una sola ruta sencilla de text-to-3D para el coleccionable:

  1. Llama a meshy_text_to_3d con un prompt breve y específico y target_formats: ["glb"]. Crea un preview sin textura. Usa meshy_text_to_3d_refine solo después de que el preview termine y únicamente si la textura justifica otra tarea. Refine devuelve un task ID nuevo: conserva los ID de preview y refine, y usa el ID de refine con task type text-to-3d para consultar el estado y descargar el resultado texturizado.
  2. Guarda el task ID devuelto y el task type text-to-3d. No conserves solo la respuesta en lenguaje natural.
  3. Llama a meshy_get_task_status con el mismo ID y type. PENDING, IN_PROGRESS o un TIMEOUT de la herramienta no son fallo. Tampoco lo son una desconexión, 429 o 5xx al consultar: vuelve a consultar el mismo task ID más tarde, sin crear otra tarea de pago duplicada.
  4. Descarga solo después de SUCCEEDED. Lee task_error tras FAILED y detente tras CANCELED. Guarda el resultado en una ruta local explícita de assets fuente, por ejemplo:
meshy_download_model
task_id: <same task ID>
task_type: "text-to-3d"
format: "glb"
save_to: "<absolute-project-path>/SourceAssets/Props/CollectibleMarker/marker.glb"

Comprueba que el archivo existe antes de pasar a Blender o Unreal. Según Asset Retention, los assets API de clientes no Enterprise se conservan como máximo tres días; no guardes únicamente la URL.

Prueba de asset D, solo si eliges Meshy: el GLB local se abre de forma repetible y quedan registrados task ID, task type, prompt, estado final y ruta local. Aún no demuestra que el asset sea apto para Unreal.

Blender solo cuando la limpieza tenga una tarea concreta

La limpieza manual basta; no hace falta añadir otro MCP por defecto. Solo si eliges controlar Blender con Claude, instala el add-on, LLM client y MCP server oficiales desde la página de Blender MCP y empieza con un inventario read-only de los objetos de la escena. No mezcles puertos, nombres de herramientas ni pasos de ahujasid/blender-mcp. Blender advierte que su MCP ejecuta código generado por el LLM sin protecciones para los datos; usa una VM o un sistema sin información sensible.

Para un coleccionable estático, sigue esta ruta mínima:

  1. En Blender elige File → Import → glTF 2.0 (.glb/.gltf) y abre marker.glb. Conserva solo el objeto deseado, elimina manualmente geometría sobrante y revisa escala, orientación, origen, nombres y materiales.
  2. Guarda la fuente limpia como <absolute-project-path>/SourceAssets/Props/CollectibleMarker/marker-clean.blend para conservar una versión editable y recuperable.
  3. Selecciona solo el objeto estático limpio, elige File → Export → glTF 2.0, fija el formato en glTF Binary (.glb), activa Selected Objects y Apply Modifiers y guarda marker-clean.glb junto al .blend.
  4. En el Content Browser de Unreal crea o abre /Game/Assets/Props/Collectibles/ e importa marker-clean.glb. En la vista previa de importación de Interchange, confirma que la entrada prevista es un Static Mesh, importa solo ese objeto estático y guarda el asset. Revisa el tamaño en Static Mesh Editor; añade colisión simple solo si hace falta y evita que interfiera con el overlap trigger existente.
  5. Abre el Blueprint o Actor coleccionable que ya pasó Play y sustituye únicamente la referencia del componente Static Mesh visible. Conserva trigger, evento de recogida única, contador, victoria, reinicio e instancias colocadas. Compila, guarda y vuelve a Play.

Prueba de asset E, solo si eliges Blender/importación: .blend, el .glb limpio y el Static Mesh se abren; escala, orientación, origen y colisión son explicables; cambia la malla visible sin cambiar la lógica; las pruebas Play A–C siguen pasando.

Diagnostica por capa de evidencia

SíntomaComprueba primeroNo lo confundas con
/mcp está connected pero no lee el nivelEditor abierto, Output Log, llamada read-only realConexión jugable
Hay servidor pero no herramientasAllToolsets y, si procede, ModelContextProtocol.RefreshToolsFalta de capacidad del modelo
Las llamadas se bloqueanCompilación, carga de nivel o PIE activoNecesariamente un problema de red
Responde Blueprint pero falla el juegoEstado, compilación, Output Log, Play manualTrabajo terminado
La consulta Meshy termina en timeout, desconexión, 429 o 5xxConserva task ID/type y consulta después la misma tareaFAILED o motivo para crear otra tarea de pago
Caduca la URLCopia local, task ID, periodo de retenciónURL permanente
Escala o colisión incorrectaUnidades, origen, export y ajustes de UnrealGeneración necesariamente mala

Tras dos arreglos fallidos para el mismo síntoma, vuelve al último checkpoint aprobado y divide más la tarea. No apiles una tercera reparación especulativa sobre dos no verificadas.

Mantén tres libros de uso separados

No conviertas «19% de un Max semanal» en tokens API. Un creador informó de unas cuatro horas y cerca del 19% de su plan Max semanal para una primera construcción completa. Es un informe individual, no una promesa de tiempo, precio o cuota.

RutaElemento obligatorio que se verifica aparteQué no incluyeEvidencia
Claude Code con suscripción ClaudeNivel, límite de sesión/semana y modelo activoCredits de Meshy o factura APIVistas de modelo y uso de Claude Code
Claude Code con API de modelosAPI key, modelo real, tokens de entrada/salida/caché, saldoUso semanal Max o MeshyRegistros y facturación; en BetterToken, modelo y tokens
Meshy opcionalMESHY_API_KEY, plan de pago elegible/acceso API, saldo API prepago y uso por tareaTokens de la API de modelos; el saldo de la app web no demuestra el saldo APImeshy_check_balance, tareas y facturación
Unreal, Blender, plugins y contenidoLicencias actuales, hardware, marketplace y plugins externosSuposición de que todo es gratuitoTérminos y compras de cada proveedor

Antes de escalar, mide un nivel: prompts, reintentos, solicitudes de modelo, task ID opcionales de Meshy, archivos descargados y tiempo humano de Play. El núcleo debe repetir de forma estable las pruebas A–C; exige D solo si eliges Meshy y E solo si eliges Blender/importación. Amplía cuando sean estables las ramas que realmente uses.

Lista final

  • Existe punto de rollback antes de la sesión y después de cada puerta aprobada.
  • Además de /mcp, ha funcionado una llamada real de solo lectura a Unreal.
  • En Play puedes recorrer, recoger exactamente tres objetos, ganar correctamente y reiniciar desde cualquier estado.
  • PIE se detiene antes de cambiar recursos y la compilación termina antes del paso siguiente.
  • Meshy y Blender siguen siendo opcionales hasta que funciona el greybox.
  • Si usaste Meshy, el resultado está local y registraste task ID, task type y estado final.
  • Si sustituiste un primitivo por un asset externo, repetiste las pruebas Play A–C.
  • Modelo real, tokens del modelo, cuota de suscripción Claude y credits de Meshy se revisan por separado.

El resultado no es solo una demostración llamativa de IA, sino un proceso recuperable, observable y ampliable sin perder de vista qué funciona de verdad.

¿Quieres optimizar tu flujo de trabajo con LLM?

Conecta modelos mediante una API, gestiona claves y controla el gasto en IA.

Empezar gratis