/ Diretório / Playground / unity-mcp
● Comunidade CoplayDev ⚡ Instantâneo

unity-mcp

por CoplayDev · CoplayDev/unity-mcp

Controle o Unity Editor pelo Claude — construa cenas, escreva scripts C#, execute testes, inspecione o console, tudo pelo chat.

MCP para Unity (por CoplayDev) expõe 40+ ferramentas cobrindo hierarquia de cenas, prefabs, materiais, pacotes, scripts, testes e profiler. Instalado como um pacote Unity mais um bridge Python; o lado Unity executa um servidor HTTP local ao qual a IA se conecta. Funciona com Claude Desktop, Cursor, VS Code e qualquer cliente MCP.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

unity.replay ▶ pronto
0/0

Instalar

Escolha seu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "unity": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/CoplayDev/unity-mcp"
      ],
      "_inferred": true
    }
  }
}

Abra Claude Desktop → Settings → Developer → Edit Config. Reinicie após salvar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "unity": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/CoplayDev/unity-mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor usa o mesmo esquema mcpServers que o Claude Desktop. Config de projeto vence a global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "unity": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/CoplayDev/unity-mcp"
      ],
      "_inferred": true
    }
  }
}

Clique no ícone MCP Servers na barra lateral do Cline, depois "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "unity": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/CoplayDev/unity-mcp"
      ],
      "_inferred": true
    }
  }
}

Mesmo formato do Claude Desktop. Reinicie o Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "unity",
      "command": "TODO",
      "args": [
        "See README: https://github.com/CoplayDev/unity-mcp"
      ]
    }
  ]
}

O Continue usa um array de objetos de servidor em vez de um map.

~/.config/zed/settings.json
{
  "context_servers": {
    "unity": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/CoplayDev/unity-mcp"
        ]
      }
    }
  }
}

Adicione em context_servers. Zed recarrega automaticamente ao salvar.

claude mcp add unity -- TODO 'See README: https://github.com/CoplayDev/unity-mcp'

Uma linha só. Verifique com claude mcp list. Remova com claude mcp remove.

Casos de uso

Usos do mundo real: unity-mcp

Como prototizar uma cena Unity a partir de uma descrição textual

👤 Designers de jogos, devs solo, equipes de hackathon ⏱ ~20 min intermediate

Quando usar: Você quer ir de 'floresta low-poly com um jogador e 5 inimigos patrulhando' para uma cena executável sem ligar cada GameObject à mão.

Pré-requisitos
  • Unity 2021.3 LTS ou mais recente, Python 3.10+, uv — Instale uv via brew install uv; Unity de unity.com/download
  • Instale o pacote Unity — Window > Package Manager > + > Add from git URL: https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#main
Fluxo
  1. Descreva a cena que você quer
    Create a new scene called 'ForestDemo'. Add a low-poly terrain 200x200, a player capsule at origin with a rigidbody, and 5 cube enemies placed randomly between (-50,-50) and (50,50).✓ Copiado
    → Cena criada, GameObjects aparecem na Hierarquia, Unity reflete mudanças ao vivo
  2. Peça scripts de comportamento
    Create a C# script EnemyPatrol.cs that moves between two random waypoints, and attach it to every Enemy* GameObject.✓ Copiado
    → Novo script compila perfeitamente, anexado aos inimigos
  3. Entre no modo Play e itere
    Enter Play mode for 5 seconds, then read the console and tell me if anything threw.✓ Copiado
    → Log de runtime retornado, Claude propõe correções concretas para qualquer NullReferenceException

Resultado: Uma cena protótipo executável com inimigos com script — em menos de 15 minutos de chat.

Armadilhas
  • Edições de script rejeitam porque erros de compilação em cascata — Peça a Claude para executar manage_script validate antes de apply_text_edits
  • Recarga de domínio limpa o estado do tempo de execução no meio da sessão — Salve a cena explicitamente antes de edições de script; use refresh_unity depois
Combine com: github · filesystem

Como diagnosticar e corrigir erros de compilação/runtime do Unity pelo chat

👤 Desenvolvedores Unity presos em um console vermelho ⏱ ~15 min intermediate

Quando usar: O console está cheio de erros de um grande refator ou uma atualização de pacote e você quer um segundo par de olhos.

Fluxo
  1. Puxe o console
    Read the Unity console. Group errors by root cause.✓ Copiado
    → Categorias de erro agrupadas com arquivos prováveis identificados
  2. Leia o script ofensivo
    Open the top script mentioned, find the line, and explain why it breaks.✓ Copiado
    → Proposta de correção específica referenciando números de linha
  3. Aplique um patch mínimo
    Apply the smallest change to make it compile, then refresh Unity and re-read the console.✓ Copiado
    → Contagem de erros cai, nenhum novo erro introduzido

Resultado: Um console verde e um diff que você pode revisar antes de fazer commit.

Armadilhas
  • Claude propõe correções que quebram contratos de API para outros scripts — Peça a ele para encontrar referências (find_in_file) antes de editar
Combine com: github

Como executar testes EditMode/PlayMode do Unity e ler falhas

👤 Devs Unity com um pacote de testes real ⏱ ~15 min intermediate

Quando usar: Antes de abrir um PR ou quando CI está inativo e você quer um passe local rápido.

Fluxo
  1. Inicie uma execução de teste
    Run all EditMode tests in the Tests.EditMode assembly.✓ Copiado
    → ID do trabalho de teste retornado, status transmitido
  2. Resuma as falhas
    For each failing test, show the assertion message and the line it fired on.✓ Copiado
    → Diagnóstico por teste
  3. Corrija a falha menor primeiro
    Pick the failure most likely caused by my last change and propose a patch.✓ Copiado
    → Sugestão de edição concreta

Resultado: Uma execução de teste verde com edições rastreáveis.

Armadilhas
  • Testes PlayMode precisam de um assembly diferente — Especifique EditMode vs PlayMode explicitamente
Combine com: github

Combinações

Combine com outros MCPs para 10× de alavancagem

unity + github

Crie um scaffold de cena + scripts, faça commit das mudanças, abra um PR para revisão

Construa o recurso EnemyPatrol no Unity, faça commit do novo script e mudanças de cena para um branch 'feature/enemy-patrol', e abra um PR com um resumo do que mudou.✓ Copiado
unity + filesystem

Importe um lote de assets 3D de uma pasta local e conecte-os em prefabs

Leia /Downloads/kenney-nature-pack, importe cada .fbx em Assets/Models/, então crie um prefab para cada árvore com um colisor.✓ Copiado
unity + unity-2 + unity-3

Escolha o MCP Unity que melhor corresponde ao seu fluxo de trabalho — execute apenas um de cada vez

Compare MCP for Unity vs CoderGamester mcp-unity para meu projeto 2D tilemap, depois mantenha o melhor habilitado.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
manage_scene action: 'create'|'open'|'save'|'load', name?: str, path?: str Qualquer mudança de ciclo de vida de cena grátis
find_gameobjects query: str, scene?: str Localize objetos por nome, tag ou componente grátis
manage_components target: str, action: 'add'|'remove'|'modify', component: str, values?: obj Anexe ou ajuste componentes grátis
manage_script action: 'create'|'read'|'delete', path: str, body?: str Escritas de script de arquivo completo — use apply_text_edits para parcial grátis
apply_text_edits path: str, edits: Edit[] Patches cirúrgicos; mais seguro que reescritas completas grátis
read_console since_ms?: int Inspecione erros/avisos após qualquer mudança grátis
run_tests mode: 'EditMode'|'PlayMode', filter?: str Inicie uma execução de teste; pesquise com get_test_job grátis
refresh_unity Após criar/modificar scripts ou assets grátis
manage_asset action, path, ... Importe/mova/delete assets grátis
unity_docs query: str Procure docs de API Unity inline grátis

Custo e limites

O que custa rodar

Cota de API
Sem API remota — executa inteiramente na sua máquina
Tokens por chamada
Lendo a hierarquia de cenas: 500–3000 tokens. Leituras de script: depende do tamanho do arquivo
Monetário
Gratuito (código aberto, MIT)
Dica
Desabilite ferramentas que você não usará (por exemplo, manage_vfx, manage_probuilder) via a lista de permissão de ferramentas para encolher a pegada de prompt.

Segurança

Permissões, segredos, alcance

Escopos mínimos: escrita do sistema de arquivos local para seu projeto Unity
Armazenamento de credenciais: Nenhum necessário — apenas HTTP localhost
Saída de dados: Apenas localhost (http://localhost:8080/mcp). Sem telemetria por padrão.
Nunca conceda: acesso a projetos Unity fora do ativo

Solução de problemas

Erros comuns e correções

Claude não consegue se conectar: ECONNREFUSED localhost:8080

O Unity Editor deve estar aberto com o pacote MCP carregado. Verifique Window > MCP for Unity > Status.

Verificar: curl http://localhost:8080/mcp/ping
`apply_text_edits` relata 'arquivo alterado no disco'

Outra ferramenta modificou o arquivo. Releia com manage_script antes de editar novamente.

`refresh_unity` fica pendurado para sempre

Geralmente um erro de compilação travando o recarregamento de domínio. Abra Unity, corrija o script vermelho e tente novamente.

Verificar: Verifique o console Unity manualmente
Package Manager 'Não conseguiu resolver URL git'

Atrás de um proxy ou sem git no PATH. Instale git e tente novamente, ou use a instalação OpenUPM em vez disso.

Verificar: git --version

Alternativas

unity-mcp vs. outros

AlternativaQuando usarTroca
Unity-MCP (IvanMurzak)Você quer configuração orientada por CLI e execução C# baseada em RoslynComunidade menor que a de Coplay, superfície de ferramenta diferente
mcp-unity (CoderGamester)Você quer um conjunto de ferramentas mais simples focado em manipulação de cena e testesMenos ferramentas, menos cobertura de materiais/VFX

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills