Union - Unity MCP Server

Um servidor MCP para gerenciar e interagir com projetos Unity.

Documentação

[!IMPORTANT] Union está obsoleto. Use o servidor MCP oficial da Unity.

Union ♾️ - O Servidor MCP da Unity

Um servidor Model Context Protocol para Unity

Doki Delivery Airship

Principais Recursos

  • 🖼️ Visão Multimodal: Seu agente pode ver o que você vê. Ele pode visualizar a cena, olhar através de qualquer câmera, assistir ao modo de reprodução e inspecionar miniaturas de assets.

  • 🔎 Busca Poderosa: Vá além do painel de projetos com busca simultânea na hierarquia e nos assets do projeto.

  • ✔️ Análise de Código Superior: Aproveite o próprio compilador da Unity para análise de código mais precisa do que o linter do seu agente.

  • ⏩ Início Rápido: Comece a usar em segundos com um único arquivo de configuração mcp.json.

  • 🛠️ Extensível: Adicione suas próprias ferramentas específicas do projeto com o mínimo de código boilerplate.

  • 📅 Sempre Atualizado: Mantido atualizado com a versão mais recente do protocolo MCP — atualmente 2025-06-18 via SDK C# MCP Oficial.

Compatibilidade

NomeCompatívelNotas
Modelos
GPT-4.1✅
Claude 4 Sonnet✅
Claude 4 Opus✅
Gemini 2.5 Pro✅
Gemini 2.5 Flash✅
o3✅Sem compreensão de imagens
o4-mini✅
Versões da Unity
Unity 6000.0.x✅Versões superiores devem funcionar. Versões inferiores podem funcionar, mas não foram testadas.
Agentes
Cursor✅
Rider AI✅
Claude Desktop✅
Claude Code✅Terminal requer permissões de Gravação de Tela e Áudio do Sistema no Mac
Sistemas Operacionais
Windows✅
Mac✅
Ubuntu❔Não testado

Configuração

1. Instale o node.js

2. Configure o mcp.json

{
  "mcpServers": {
    "unity": {
      "command": "npx",
      "args": ["-y", "@nurture-tech/unity-mcp-runner", "-unityPath", "<path to unity editor>", "-projectPath", "<path to unity project>"]
    }
  }
}

Isso instalará automaticamente o pacote is.nurture.mcp no seu projeto Unity. Sinta-se à vontade para commitar essas alterações no controle de versão.

Sobre as Ferramentas

Conheça sua caixa de ferramentas de IA para Unity.

FerramentaDescrição
Assets
get_asset_contentsObtenha o conteúdo completo de um asset ou sub-asset.
copy_assetCopie um asset para um novo caminho.
import_assetImporte um asset do sistema de arquivos para a Unity.
get_asset_importerObtenha as configurações do importador para um asset.
Prefabs
open_prefabAbra um prefab da Unity em modo de isolamento para que possa ser editado.
Cenas
open_sceneAbra uma cena
close_sceneFeche uma cena aberta
save_sceneSalve a cena atual. Se a cena não estiver modificada, isso não fará nada.
get_game_objectObtenha os detalhes de um game object em uma cena carregada ou prefab pelo caminho da hierarquia.
test_active_sceneTeste a cena ativa entrando no modo de reprodução e executando por um determinado número de segundos.
Scripts
create_scriptCrie ou substitua um arquivo de código C# no caminho fornecido. Isso também verifica se o script compila.
execute_codeExecute código dentro do editor da Unity.
get_type_infoObtenha campos e métodos públicos em um nome de tipo totalmente qualificado da Unity, incluindo o assembly.
Busca
searchBusque assets do projeto e objetos de cena.
Estado do Editor
get_stateObtenha o estado do Editor da Unity.
get_selectionObtenha os objetos que o usuário selecionou atualmente no editor.
Visão
focus_game_objectFoque em um game object na visualização da cena.
screenshotRecupere uma prévia do que está focado na visualização da cena.

Problemas Conhecidos

  • O Google External Dependency Manager (EDMU) faz a Unity travar para sempre na inicialização quando iniciado via Cursor no Windows. Isso está sob investigação.

  • A ferramenta test_active_scene às vezes falha com a mensagem de erro Maximum call stack size exceeded.

  • A ferramenta search ocasionalmente falha com a mensagem de erro Search index is not ready yet. Please try again later.

Adicionando Ferramentas Específicas do Projeto

A Union usa o SDK C# MCP oficial.

  1. Crie uma classe estática para armazenar suas ferramentas. Adicione a anotação [McpServerToolType] à classe.

  2. Declare métodos estáticos para implementar cada ferramenta. Adicione a anotação [McpServerTool] a cada método.

  3. Consulte o diretório Services para exemplos.

  4. Você provavelmente precisará sair da Unity e reiniciar seu agente para que ele veja as novas ferramentas.

Dicas de Uso

Aqui estão algumas dicas para aproveitar ao máximo a Union:

  • 🚀 Inicie pelo seu agente: Sempre inicie a Unity através da integração MCP do seu agente de IA. Iniciar a Unity pelo Hub impedirá que o servidor MCP se conecte.

  • 📂 Configuração por projeto: Se seu agente suportar, configure o servidor MCP nas configurações do seu projeto. Isso permite alternar facilmente entre projetos Unity.

  • ⚙️ Argumentos de linha de comando: Você pode passar argumentos adicionais para a Unity em cenários avançados, como executar em -batchmode ou -nographics para pipelines de CI/CD. Adicione um separador -- antes dos argumentos específicos da Unity:

    {
      "mcpServers": {
        "unity": {
          "command": "npx",
          "args": [
            "-y",
            "@nurture-tech/unity-mcp-runner"
            "-unityPath",
            "<path to unity editor>",
            "-projectPath",
            ".",
            "--",
            "-batchmode",
            "-nographics"
          ]
        }
      }
    }
    
  • ⚠️ Importante: Não use o argumento de linha de comando -logFile. O servidor MCP depende da saída padrão da Unity para comunicação.

  • 🖥️ Tela dividida para visão: Para ferramentas como screenshot, certifique-se de que o editor da Unity esteja visível na sua tela, caso contrário, ele acabará capturando a janela em primeiro plano.