Crie seu primeiro nível jogável no Unreal com Claude Opus 5.5
Um processo em etapas para criadores independentes: comprovar a conexão real com o Unreal, montar e testar um nível com três coletáveis, vitória e reinício e, só então, decidir se Meshy e Blender valem a complexidade.
Conteúdo

A orientação prática é não conectar Claude Code, Unreal, Meshy e Blender logo no primeiro dia. Primeiro comprove que o Claude Code consegue ler a instância do Unreal Editor que está realmente aberta. Depois construa um greybox que você possa percorrer, no qual seja possível coletar três objetos, vencer e reiniciar. Valide cada etapa pessoalmente no Play. Só quando esse ciclo estiver estável vale decidir se um asset 3D gerado ou uma limpeza no Blender compensa as novas dependências.
Este é um guia baseado na documentação atual, não uma afirmação de que o autor executou o seu projeto. A Epic ainda classifica o Unreal MCP como Experimental e avisa que recursos, APIs e formatos de dados podem mudar. Por isso, uma conexão MCP, um resultado de ferramenta com sucesso e um jogo realmente jogável são tratados aqui como três tipos diferentes de evidência.
Decida se esse processo serve para você
Ele funciona melhor para uma pessoa que já entende os conceitos básicos do Unreal, mantém o projeto em controle de versão e aceita fazer um Play-test depois de cada mudança pequena. Claude pode acelerar tarefas que você sabe descrever e revisar; não consegue decidir sozinho se movimento, câmera, colisão ou sensação de jogo estão bons.
| Situação | Recomendação |
|---|---|
| Você entende a estrutura do projeto, revisa mudanças e testa no Play | Comece pelo greybox mínimo abaixo |
| Você só precisa validar o loop de jogo | Mantenha os primitivos do Unreal; deixe Meshy e Blender para depois |
| Não existe backup nem caminho de rollback | Pare e crie uma cópia com checkpoints de versão |
| Você espera um jogo pronto a partir de um prompt | Divida a meta em sistemas observáveis |
| A mudança é mover um Actor ou alterar um número | Normalmente é mais rápido fazer manualmente |
A Anthropic posiciona o Opus 5.5 para programação complexa e trabalho agêntico de longa duração. Isso não torna o resultado visual autoavaliável. Deixe o modelo inspecionar, planejar e executar; mantenha com a pessoa a aprovação, a observação e a validação no Play.
Defina o menor resultado jogável antes de instalar mais ferramentas
O alvo deste guia tem apenas quatro requisitos:
- O jogador surge em
Player Starte consegue seguir uma rota clara até o final. - Três coletáveis visíveis aumentam o contador uma única vez, de 0 a 3.
- Chegar ao final produz vitória apenas depois de coletar os três.
- Pressionar
Rrestaura posição, contador, coletáveis e estado de vitória.
Registre isso no briefing do projeto. Para cada lote, anote mudança, resultado esperado, resultado real e aprovado/reprovado. Connected não é jogável. Compilado não é jogável. Uma solicitação aceita pela ferramenta não é jogável. Só um teste manual no Play comprova cada etapa.
Etapa 1: conecte o Claude Code ao Unreal MCP oficial
Crie um ponto de recuperação primeiro
Salve o projeto e faça commit ou shelve do estado atual. O plugin oficial da Epic oferece ao Claude acesso amplo e ao vivo ao editor, inclusive uma ferramenta capaz de executar Python dentro do processo. O README recomenda tratar esse acesso como execução de código arbitrário gerado pelo assistente, salvar antes de sessões longas e revisar o diff.
Não use --dangerously-skip-permissions em um projeto importante. Aprenda em uma cópia, sandbox ou branch descartável.
Ative os dois plugins do Unreal
Este guia segue a página oficial do Unreal MCP, publicada atualmente em Unreal Engine 5.8 Documentation. Ele pressupõe que o seu build realmente contém Unreal MCP (ModelContextProtocol) e All Toolsets (AllToolsets). Não conclua que toda versão do UE5 inclui os mesmos plugins. Se qualquer um estiver ausente, pare e use um build coberto pela documentação da Epic, sem substituir a implementação oficial por um MCP comunitário.
Siga a configuração oficial:
- Em Edit → Plugins, ative Unreal MCP.
- Ative também All Toolsets. O servidor pode existir sem expor ferramentas úteis quando ele falta.
- Reinicie o editor.
- Ative Auto Start Server em Editor Preferences ou execute no console:
ModelContextProtocol.StartServer
O endpoint local padrão é http://127.0.0.1:8000/mcp. Ele não tem autenticação por padrão nem foi feito para acesso remoto. Não exponha a porta na internet nem use o servidor em uma máquina compartilhada.
Gere a configuração do Claude Code
Execute no console do Unreal:
ModelContextProtocol.GenerateClientConfig ClaudeCode
Uma instalação pelo launcher normalmente grava .mcp.json ao lado do .uproject; uma build a partir do código pode gravá-lo na raiz do workspace ao lado de Engine/. Gere novamente após trocar a porta. Inicie o Claude Code a partir da raiz que contém essa configuração.
Instale o plugin oficial da Epic:
/plugin install unreal-engine-skills-for-claude-code@claude-plugins-official
Se o marketplace oficial não aparecer, adicione-o primeiro:
/plugin marketplace add anthropics/claude-plugins-official
Separe acesso ao modelo, editor e geração de assets
O Claude Code pode usar uma conta Anthropic ou uma API compatível. Ao usar BetterToken, o guia atual para Claude Code manda definir ANTHROPIC_BASE_URL como https://bettertoken.ai sem /v1 e configurar ANTHROPIC_AUTH_TOKEN localmente. Nunca cole uma chave real no chat, no repositório ou no pacote de materiais.
O ID oficial do modelo da Anthropic é claude-opus-5-5. Ao rotear pela BetterToken, copie o ID exato do Model Plaza vigente e confirme que ele está disponível para o grupo de chave escolhido; depois de iniciar, verifique o roteamento real com /model e os registros do provedor, em vez de confiar numa configuração antiga copiada.
Verifique uma leitura ao vivo, não apenas um indicador verde
Confira as quatro camadas:
/pluginmostra o plugin oficial do Unreal;/mcpmostraunreal-mcp;- o Output Log não apresenta erro de porta ou dependência;
- um prompt somente leitura retorna o nome real do nível, os Actor principais e a existência de
Player Start.
A última prova confirma que o editor está acessível. A Epic observa que um proxy connected ou ferramentas em cache não comprovam que uma chamada ao Unreal esteja funcionando agora.
Etapa 2: construa apenas um greybox percorrível
Comece com uma base em terceira pessoa que já seja jogável. Player Start marca o ponto de spawn, mas sozinho não fornece personagem controlável, GameMode, input ou câmera. Em um projeto novo, use o template Third Person do Unreal. Em um projeto existente, confirme que o GameMode ativo cria um pawn controlável em terceira pessoa, que movimento e câmera de acompanhamento funcionam e que o level contém Player Start.
Antes de o MCP alterar qualquer geometria, clique em Play, não em Simulate. Verifique se o personagem realmente aparece, se WASD move e se o mouse controla a câmera; depois pare o PIE. Se algo falhar, conserte essa base primeiro, sem esconder o problema no prompt do greybox.
Quando a base passar, peça ao Claude para ler level, GameMode, personagem e toolsets disponíveis, e listar o plano e os assets que serão alterados. Ferramenta ausente deve interromper a tarefa. Um limite útil é:
Com base no projeto em terceira pessoa que já passou no Play, crie um greybox mínimo no level atual. Preserve personagem, GameMode, input mappings e câmera existentes; não os substitua nem reconstrua. Use primitivos para piso, limites, uma rota clara e um marcador final. Não adicione inimigos, assets de arte ou UI complexa. Relate cada asset criado ou alterado. Pare se faltar ferramenta, a compilação falhar ou o resultado não for um sucesso explícito.
Durante a execução:
- Serialize mudanças dependentes no mesmo asset ou estado do editor.
- Aguarde o fim da compilação de C++, Blueprint ou shader; uma solicitação aceita não é compilação concluída.
- Leia o status de cada resultado e pare diante de qualquer coisa que não seja sucesso explícito.
Teste Play A: clique em Play novamente, comece com o personagem gerado em Player Start e percorra toda a rota. Ele não pode escapar do limite, prender em uma passagem ou saltar um obstáculo invisível. Corrija apenas a falha observada, sem redesenhar câmera, materiais ou rota.
Salve, faça commit e marque um ponto de recuperação depois da aprovação.
Etapa 3: adicione três coletáveis
O próximo lote inclui somente as regras de coleta e protege a rota já aprovada:
Adicione três coletáveis claramente visíveis e separados ao longo da rota. O contato deve ativar uma vez, ocultar ou remover o objeto e levar um contador legível de 0 a 3. Não mova Player Start, rota, limites ou final. Informe Blueprints, variáveis, eventos e assets de UI envolvidos e forneça uma lista de Play-test.
Teste Play B: colete em ordem normal e inversa; cada objeto soma uma vez; a sequência é 1, 2, 3; voltar ao local antigo não soma; uma nova sessão de Play começa em 0.
Se Claude disser “concluído”, mas o contador não mudar no Play, a etapa falhou. Registre o comportamento e o Output Log, peça diagnóstico e depois uma única correção restrita.
Etapa 4: vitória e reinício
O último lote jogável adiciona apenas conclusão e reset:
Chegar ao final mostra vitória somente quando o contador é 3. Com menos itens não deve vencer. Pressionar R reinicia o nível e restaura posição, os três coletáveis, contador e UI de vitória. Preserve rota e input. Informe as mudanças e entregue uma lista de cinco passos para Play.
Teste Play C:
- Chegue com dois objetos: não há vitória.
- Colete os três e chegue: a vitória aparece.
- Pressione
Rno meio: tudo volta ao início. - Pressione
Rapós vencer: tudo volta ao início. - Colete em outra ordem: o comportamento permanece correto.
Só agora existe um primeiro nível jogável. Salve, faça commit e mantenha uma versão estável sem arte externa.
Adicione Meshy ou Blender somente após o greybox passar
São ramificações opcionais, não pré-requisitos.
Meshy apenas quando um objeto distinto vale a pena
Essa continua sendo uma ramificação opcional. O servidor MCP oficial da Meshy exige um MESHY_API_KEY válido; a chave requer um plano pago elegível e as solicitações usam API credits pré-pagos. O plano ou saldo exibido no aplicativo web não comprova sozinho acesso ou saldo de API. Antes de gerar, chame meshy_check_balance.
Para Claude Code no Bash, use a configuração local abaixo. Digite a chave de forma oculta e não a cole no chat nem faça commit da configuração local gerada:
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
Depois use /mcp para confirmar que meshy está conectado, peça a lista de ferramentas Meshy e chame meshy_check_balance. Essas verificações não criam tarefa de geração. Pare se chave, plano ou saldo API não estiverem válidos.
Use uma única rota simples de text-to-3D para o coletável:
- Chame
meshy_text_to_3dcom umpromptcurto e específico etarget_formats: ["glb"]. Isso cria um preview sem textura. Usemeshy_text_to_3d_refinesomente depois do sucesso do preview e apenas se textura justificar outra tarefa. O refine retorna um task ID novo: guarde os IDs de preview e refine e use o ID de refine com task typetext-to-3dpara consultar o status e baixar o resultado texturizado. - Registre o task ID retornado e o task type
text-to-3d. Não guarde apenas a resposta em linguagem natural. - Chame
meshy_get_task_statuscom o mesmo ID e type.PENDING,IN_PROGRESSouTIMEOUTda ferramenta não são falha. Interrupção de rede,429ou5xxao consultar também não tornam a tarefaFAILED; consulte o mesmo task ID depois, sem criar uma tarefa paga duplicada. - Baixe apenas após
SUCCEEDED. Leiatask_errorapósFAILEDe pare apósCANCELED. Salve em um caminho local explícito de assets-fonte, por exemplo:
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"
Confirme que o arquivo existe antes de seguir para Blender ou Unreal. Pela política de Asset Retention, assets de API de clientes não Enterprise ficam retidos por no máximo três dias; não guarde apenas a URL.
Teste de asset D, somente se Meshy foi escolhido: o GLB local abre de forma repetível e task ID, task type, prompt, status final e caminho local estão registrados. Isso ainda não prova que o asset está pronto para Unreal.
Blender apenas quando houver uma tarefa clara de limpeza
Limpeza manual é suficiente; outro MCP não é obrigatório. Somente ao escolher Blender controlado por Claude instale add-on, LLM client e MCP server oficiais pela página do Blender MCP e comece com um inventário read-only dos objetos da cena. Não misture portas, nomes de ferramentas ou passos do projeto comunitário ahujasid/blender-mcp. O Blender alerta que o MCP executa código gerado pelo LLM sem proteções para dados; use VM ou sistema sem informações sensíveis.
Para um coletável estático, use esta rota mínima:
- No Blender, escolha File → Import → glTF 2.0 (.glb/.gltf) e abra
marker.glb. Mantenha apenas o objeto desejado, remova manualmente geometrias soltas e revise escala, orientação, origem, nomes e materiais. - Salve a fonte limpa em
<absolute-project-path>/SourceAssets/Props/CollectibleMarker/marker-clean.blendpara manter uma versão editável e recuperável. - Selecione apenas o objeto estático limpo, escolha File → Export → glTF 2.0, defina o formato como glTF Binary (.glb), ative Selected Objects e Apply Modifiers e salve
marker-clean.glbao lado do.blend. - No Content Browser do Unreal, crie ou abra
/Game/Assets/Props/Collectibles/e importemarker-clean.glb. Na prévia de importação do Interchange, confirme que a entrada pretendida é um Static Mesh, importe apenas esse objeto estático e salve o asset. Revise o tamanho no Static Mesh Editor; adicione colisão simples somente se necessário, sem substituir ou quebrar o overlap trigger existente. - Abra o Blueprint ou Actor coletável que já passou no Play e substitua somente a referência do componente Static Mesh visível. Preserve trigger, evento único de coleta, contador, vitória, reinício e instâncias posicionadas. Compile, salve e execute Play novamente.
Teste de asset E, somente se a ramificação Blender/importação foi escolhida: .blend, o .glb limpo e o Static Mesh abrem; escala, orientação, origem e colisão são explicáveis; o mesh visível mudou sem alterar a lógica; os testes Play A–C continuam passando.
Diagnostique pela camada de evidência
| Sintoma | Verifique primeiro | Não confunda com |
|---|---|---|
/mcp está connected, mas o nível não é lido | Editor aberto, Output Log, chamada real de leitura | Conexão jogável |
| Servidor inicia, mas não há ferramentas | AllToolsets e, se necessário, ModelContextProtocol.RefreshTools | Incapacidade do modelo |
| Chamadas travam ou falham | Compilação, carregamento do nível ou PIE ativo | Necessariamente rede |
| Ferramenta de Blueprint responde, mas o jogo falha | Status, compilação, Output Log, Play manual | Trabalho concluído |
Consulta Meshy termina em timeout, desconexão, 429 ou 5xx | Preserve task ID/type e consulte depois a mesma tarefa | FAILED ou motivo para criar outra tarefa paga |
| URL expira | Cópia local, task ID, retenção | Link permanente |
| Escala ou colisão importada está errada | Unidades, origem, export e colisão no Unreal | Modelo gerado necessariamente ruim |
Depois de duas correções sem resultado para o mesmo sintoma, volte ao último checkpoint aprovado e reduza a tarefa. Não empilhe uma terceira tentativa especulativa sobre duas não verificadas.
Mantenha três registros de uso separados
Não converta “19% de um Max semanal” em tokens de API. Um criador relatou cerca de quatro horas e aproximadamente 19% de um plano Max semanal em sua primeira build completa. É um relato individual, não uma promessa de tempo, preço ou cota.
| Rota | Item obrigatório a verificar separadamente | O que não inclui | Evidência |
|---|---|---|---|
| Claude Code com assinatura Claude | Plano, limite de sessão/semana, modelo ativo | Credits Meshy ou conta de API | Telas de modelo e uso do Claude Code |
| Claude Code com API de modelo | API key, model ID real, tokens de entrada/saída/cache, saldo | Uso Max semanal ou Meshy | Logs e cobrança; na BetterToken, registros de modelo e tokens |
| Meshy opcional | MESHY_API_KEY, plano pago elegível/acesso API, saldo API pré-pago e uso por tarefa | Tokens da API de modelo; saldo do app web não comprova saldo API | meshy_check_balance, tarefas e cobrança |
| Unreal, Blender, plugins e conteúdo | Licenças atuais, hardware, marketplace e plugins externos | Suposição de que toda a pilha é gratuita | Termos atuais e comprovantes de cada fornecedor |
Antes de escalar, meça um level: prompts, tentativas, solicitações de modelo, task IDs opcionais da Meshy, arquivos baixados e tempo humano de Play. O núcleo precisa repetir A–C com estabilidade; exija D somente se Meshy foi escolhido e E somente se a ramificação Blender/importação foi usada. Expanda quando as ramificações realmente adotadas estiverem estáveis.
Checklist final
- Existe ponto de rollback antes da sessão e depois de cada etapa aprovada.
- Além do
/mcp, uma chamada real somente leitura ao Unreal funcionou. - No Play é possível percorrer, coletar exatamente três objetos, vencer corretamente e reiniciar de qualquer estado.
- PIE é interrompido antes de mudar assets, e a compilação termina antes do próximo passo.
- Meshy e Blender permanecem opcionais até o greybox funcionar.
- Se Meshy foi usado, o resultado está local e task ID, task type e status final foram registrados.
- Se um asset externo substituiu um primitivo, os testes Play A–C foram refeitos.
- Modelo real, tokens, cota da assinatura Claude e credits Meshy são verificados separadamente.
O resultado deixa de ser apenas uma demonstração atraente de IA e passa a ser um processo recuperável, observável e expansível, no qual fica claro o que realmente funciona.