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
Crie seu primeiro nível jogável no Unreal com Claude Opus 5.5

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çãoRecomendação
Você entende a estrutura do projeto, revisa mudanças e testa no PlayComece pelo greybox mínimo abaixo
Você só precisa validar o loop de jogoMantenha os primitivos do Unreal; deixe Meshy e Blender para depois
Não existe backup nem caminho de rollbackPare e crie uma cópia com checkpoints de versão
Você espera um jogo pronto a partir de um promptDivida a meta em sistemas observáveis
A mudança é mover um Actor ou alterar um númeroNormalmente é 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:

  1. O jogador surge em Player Start e consegue seguir uma rota clara até o final.
  2. Três coletáveis visíveis aumentam o contador uma única vez, de 0 a 3.
  3. Chegar ao final produz vitória apenas depois de coletar os três.
  4. Pressionar R restaura 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:

  • /plugin mostra o plugin oficial do Unreal;
  • /mcp mostra unreal-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:

  1. Chegue com dois objetos: não há vitória.
  2. Colete os três e chegue: a vitória aparece.
  3. Pressione R no meio: tudo volta ao início.
  4. Pressione R após vencer: tudo volta ao início.
  5. 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:

  1. Chame meshy_text_to_3d com um prompt curto e específico e target_formats: ["glb"]. Isso cria um preview sem textura. Use meshy_text_to_3d_refine somente 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 type text-to-3d para consultar o status e baixar o resultado texturizado.
  2. Registre o task ID retornado e o task type text-to-3d. Não guarde apenas a resposta em linguagem natural.
  3. Chame meshy_get_task_status com o mesmo ID e type. PENDING, IN_PROGRESS ou TIMEOUT da ferramenta não são falha. Interrupção de rede, 429 ou 5xx ao consultar também não tornam a tarefa FAILED; consulte o mesmo task ID depois, sem criar uma tarefa paga duplicada.
  4. Baixe apenas após SUCCEEDED. Leia task_error após FAILED e pare após CANCELED. 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:

  1. 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.
  2. Salve a fonte limpa em <absolute-project-path>/SourceAssets/Props/CollectibleMarker/marker-clean.blend para manter uma versão editável e recuperável.
  3. 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.glb ao lado do .blend.
  4. No Content Browser do Unreal, crie ou abra /Game/Assets/Props/Collectibles/ e importe marker-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.
  5. 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

SintomaVerifique primeiroNão confunda com
/mcp está connected, mas o nível não é lidoEditor aberto, Output Log, chamada real de leituraConexão jogável
Servidor inicia, mas não há ferramentasAllToolsets e, se necessário, ModelContextProtocol.RefreshToolsIncapacidade do modelo
Chamadas travam ou falhamCompilação, carregamento do nível ou PIE ativoNecessariamente rede
Ferramenta de Blueprint responde, mas o jogo falhaStatus, compilação, Output Log, Play manualTrabalho concluído
Consulta Meshy termina em timeout, desconexão, 429 ou 5xxPreserve task ID/type e consulte depois a mesma tarefaFAILED ou motivo para criar outra tarefa paga
URL expiraCópia local, task ID, retençãoLink permanente
Escala ou colisão importada está erradaUnidades, origem, export e colisão no UnrealModelo 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.

RotaItem obrigatório a verificar separadamenteO que não incluiEvidência
Claude Code com assinatura ClaudePlano, limite de sessão/semana, modelo ativoCredits Meshy ou conta de APITelas de modelo e uso do Claude Code
Claude Code com API de modeloAPI key, model ID real, tokens de entrada/saída/cache, saldoUso Max semanal ou MeshyLogs e cobrança; na BetterToken, registros de modelo e tokens
Meshy opcionalMESHY_API_KEY, plano pago elegível/acesso API, saldo API pré-pago e uso por tarefaTokens da API de modelo; saldo do app web não comprova saldo APImeshy_check_balance, tarefas e cobrança
Unreal, Blender, plugins e conteúdoLicenças atuais, hardware, marketplace e plugins externosSuposição de que toda a pilha é gratuitaTermos 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.

Quer otimizar seu fluxo de trabalho com LLMs?

Conecte modelos por uma única API, gerencie chaves e controle os gastos com IA.

Começar grátis