Unity MCP

Um servidor MCP e plugin para conectar o Unity Editor e jogos a clientes MCP como o Claude Desktop.

Documentação

✨ Desenvolvedor de Jogos com IA — Habilidades Unity, MCP

MCP OpenUPM Docker Image Unity Editor Unity Runtime r
Discord OpenUPM Stars License Stand With Ukraine

AI work

Claude   Codex   Cursor   GitHub Copilot   Gemini   Antigravity   VS Code   Rider   Visual Studio   Open Code   Cline   Kilo Code

中文 | 日本語 | Español

Unity MCP é um assistente de desenvolvimento de jogos com IA para Editor & Runtime. Conecte Claude, Cursor e Windsurf ao Unity via MCP. Automatize fluxos de trabalho, gere código e habilite IA dentro dos seus jogos.

Diferente de outras ferramentas, este plugin funciona dentro do seu jogo compilado, permitindo depuração de IA em tempo real e interação jogador-IA.

💬 Entre no nosso servidor Discord - Tire dúvidas, mostre seu trabalho e conecte-se com outros desenvolvedores!

AI Game Developer — Unity MCP

  • ✔️ Agentes de IA - Use os melhores agentes da Anthropic, OpenAI, Microsoft ou qualquer outro provedor, sem ficar preso a um fornecedor
  • ✔️ Ferramentas - Uma ampla gama de Ferramentas MCP padrão para operar no Unity Editor
  • ✔️ Habilidades - Gere habilidades para IA com base no sistema operacional, versão do Unity e plugins do projeto
  • ✔️ Código e Testes - Desenvolva mecânicas de jogo e teste-as com agentes de IA
  • ✔️ Runtime (no jogo) - Use LLMs diretamente dentro do seu jogo compilado para comportamento dinâmico de NPCs ou depuração
  • ✔️ Suporte a depuração - Deixe a IA depurar e corrigir problemas em um projeto
  • ✔️ Conversa natural - Converse com a IA como conversaria com um humano
  • ✔️ Implantação flexível - Funciona localmente (stdio) e remotamente (http) via configuração
  • ✔️ Extensível - Crie ferramentas personalizadas no código do seu projeto

DOWNLOAD INSTALLER

https://github.com/user-attachments/assets/228baf4d-4f00-4dce-939d-fb985ebdd8dd

Ou use a CLI

# 1. Install unity-mcp-cli
npm install -g unity-mcp-cli

# 2. Install "AI Game Developer" in Unity project
unity-mcp-cli install-plugin ./MyUnityProject

# 3. Sign in to ai-game.dev (opens your browser — OAuth device flow)
unity-mcp-cli login

# 4. Open Unity project (auto-connects and generates skills)
unity-mcp-cli open ./MyUnityProject

AI Game Developer Windows

AI Game Developer — Unity SKILLS and MCP

Início Rápido

Comece a usar em três passos:

  1. Instale o plugin — baixe o instalador .unitypackage ou execute openupm add com.ivanmurzak.unity.mcp

    Alternativa: npx unity-mcp-cli install-plugin ./MyUnityProject — veja a documentação da CLI

  2. Escolha um agente de IA — Claude Code, Claude Desktop, GitHub Copilot, Cursor ou qualquer outro
  3. Configure o agente de IA — abra Window/AI Game Developer no Unity e clique em Gerar habilidades automaticamente (recomendado) ou Configurar MCP Setup AI Skills

    Alternativa: npx unity-mcp-cli setup-skills claude-code ./MyUnityProject — veja a documentação da CLI

É isso. Peça à sua IA "Crie 3 cubos em um círculo com raio 2" e veja acontecer. ✨


Referência de Habilidades e Ferramentas

O plugin vem com mais de 70 ferramentas integradas em quatro categorias. Cada ferramenta traz uma habilidade de IA. Todas as ferramentas estão disponíveis imediatamente após a instalação — nenhuma configuração extra é necessária. Veja docs/default-mcp-tools.md para a referência completa com descrições detalhadas.

🧰 Navegue pelo registro completo de ferramentas MCP online: ai-game.dev/docs/tools

Projeto & Assets
  • assets-copy - Copia o asset no caminho e o armazena em newPath
  • assets-create-folder - Cria uma nova pasta na pasta pai especificada
  • assets-delete - Exclui os assets nos caminhos do projeto
  • assets-find - Pesquisa o banco de dados de assets usando a string de filtro de pesquisa
  • assets-find-built-in - Pesquisa os assets integrados do Unity Editor
  • assets-get-data - Obtém dados do asset a partir do arquivo de asset, incluindo todos os campos e propriedades serializáveis
  • assets-material-create - Cria um novo asset de material com parâmetros padrão
  • assets-modify - Modifica o arquivo de asset no projeto
  • assets-move - Move os assets nos caminhos do projeto (também usado para renomear)
  • assets-prefab-close - Fecha o prefab atualmente aberto
  • assets-prefab-create - Cria um prefab a partir de um GameObject na cena ativa atual
  • assets-prefab-instantiate - Instancia o prefab na cena ativa atual
  • assets-prefab-open - Abre o modo de edição de prefab para um GameObject específico
  • assets-prefab-save - Salva um prefab no modo de edição de prefab
  • assets-refresh - Atualiza o AssetDatabase
  • assets-shader-get-data - Obtém dados detalhados sobre um asset de shader (propriedades, subshaders, passes)
  • assets-shader-list-all - Lista todos os shaders disponíveis nos assets e pacotes do projeto
  • package-add - Instala um pacote do registro do Unity Package Manager, URL Git ou caminho local
  • package-list - Lista todos os pacotes instalados no projeto Unity (pacotes UPM)
  • package-remove - Remove (desinstala) um pacote do projeto Unity
  • package-search - Pesquisa pacotes tanto no registro do Unity Package Manager quanto nos pacotes instalados
Cena & Hierarquia
  • gameobject-component-add - Adiciona Component a um GameObject
  • gameobject-component-destroy - Destrói um ou vários componentes do GameObject alvo
  • gameobject-component-get - Obtém informações detalhadas sobre um Component específico em um GameObject
  • gameobject-component-list-all - Lista nomes de classes C# que estendem UnityEngine.Component
  • gameobject-component-modify - Modifica um Component específico em um GameObject
  • gameobject-create - Cria um novo GameObject no Prefab aberto ou em uma Cena
  • gameobject-destroy - Destrói o GameObject e todos os GameObjects aninhados recursivamente
  • gameobject-duplicate - Duplica GameObjects no Prefab aberto ou em uma Cena
  • gameobject-find - Encontra um GameObject específico pelas informações fornecidas
  • gameobject-modify - Modifica GameObjects e/ou campos e propriedades do componente anexado
  • gameobject-set-parent - Define o GameObject pai para uma lista de GameObjects
  • object-get-data - Obtém dados do Unity Object especificado
  • object-modify - Modifica o Unity Object especificado
  • scene-create - Cria uma nova cena nos assets do projeto
  • scene-get-data - Recupera a lista de GameObjects raiz na cena especificada
  • scene-list-opened - Retorna a lista de cenas atualmente abertas no Unity Editor
  • scene-open - Abre a cena a partir do arquivo de asset do projeto
  • scene-save - Salva a cena aberta no arquivo de asset
  • scene-set-active - Define a cena aberta especificada como a cena ativa
  • scene-unload - Descarrega a cena das cenas abertas no Unity Editor
  • screenshot-camera - Captura uma captura de tela de uma câmera e a retorna como imagem
  • screenshot-game-view - Captura uma captura de tela da Game View do Unity Editor
  • screenshot-isolated - Renderiza um GameObject isoladamente a partir de um ângulo escolhido (composição opcional 2x2)
  • screenshot-scene-view - Captura uma captura de tela da Scene View do Unity Editor
Scripts & Editor
  • console-clear-logs - Limpa o cache de log do MCP e a janela Console do Unity Editor
  • console-get-logs - Recupera logs do Unity Editor com opções de filtragem
  • editor-application-get-state - Retorna informações sobre o estado do aplicativo Unity Editor (playmode, pausado, compilação)
  • editor-application-set-state - Controla o estado do aplicativo Unity Editor (iniciar/parar/pausar playmode)
  • editor-selection-get - Obtém informações sobre a Seleção atual no Unity Editor
  • editor-selection-set - Define a Seleção atual no Unity Editor
  • reflection-method-call - Chama qualquer método C# com parâmetros de entrada e retorna resultados
  • reflection-method-find - Encontra métodos no projeto usando C# Reflection (até métodos privados)
  • script-delete - Exclui o(s) arquivo(s) de script
  • script-execute - Compila e executa código C# dinamicamente usando Roslyn
  • script-read - Lê o conteúdo de um arquivo de script
  • script-update-or-create - Atualiza ou cria arquivo de script com o código C# fornecido
  • tests-run - Executa testes Unity (EditMode/PlayMode) com filtragem e resultados detalhados
  • type-get-json-schema - Gera um JSON Schema para um tipo C# via reflexão
Perfil & Diagnóstico
  • profiler-capture-frame - Captura as informações de tempo do frame atual (delta time, FPS, contagens de frames)
  • profiler-clear-data - Descarta todos os frames atualmente retidos pelo Editor Profiler
  • profiler-enable-module - Alterna o sinalizador local habilitado para um módulo de perfil nomeado
  • profiler-get-memory-stats - Retorna um instantâneo de estatísticas de memória (reservado, alocado, heap Mono, gráficos)
  • profiler-get-rendering-stats - Retorna tempo de frame, FPS, vsync, taxa de frames alvo, tipo de dispositivo gráfico
  • profiler-get-script-stats - Retorna o tempo de execução de scripts mais o uso de memória Mono / GC
  • profiler-get-status - Retorna o estado habilitado do profiler, módulos ativos e suporte de plataforma
  • profiler-list-modules - Lista todos os nomes de módulos de perfil conhecidos com seu sinalizador habilitado
  • profiler-load-data - Lê um instantâneo JSON do profiler salvo anteriormente
  • profiler-save-data - Salva um instantâneo de estatísticas derivadas do profiler em um arquivo JSON
  • profiler-start - Habilita o profiler de runtime do Unity e abre a janela Profiler
  • profiler-stop - Desabilita o profiler de runtime do Unity

Instale Habilidades e Ferramentas Adicionais

Instale extensões quando precisar de mais ferramentas ou crie suas próprias ferramentas.

ExtensãoDescrição
AI AnimationConjunto de ferramentas adicionais para Animações Unity
AI CinemachineFerramentas MCP para Cinemachine
AI InputSystemFerramentas MCP para o Unity Input System
AI NavigationFerramentas MCP para AI Navigation (superfícies NavMesh, baking, agentes, links)
AI ParticleSystemConjunto de ferramentas adicionais para Unity Particle System
AI ProBuilderConjunto de ferramentas adicionais para Unity ProBuilder
AI SplinesFerramentas MCP para Unity Splines
AI TerrainConjunto de ferramentas adicionais para Unity Terrain
AI TilemapFerramentas MCP para Unity 2D Tilemaps
AI TimelineFerramentas MCP para cutscenes e sequências Unity Timeline

AI Game Developer — Unity SKILLS and MCP

Conteúdo

Mais Documentação

DocumentoDescrição
Ferramentas MCP PadrãoReferência completa de todas as ferramentas integradas com descrições
Configuração do Servidor MCPConfiguração do servidor, variáveis de ambiente, hospedagem remota
Implantação DockerGuia de implantação Docker passo a passo
Guia de DesenvolvimentoArquitetura, estilo de código, CI/CD — para contribuidores
WikiPrimeiros passos, tutoriais, referência de API, FAQ
Ferramenta CLIInstalar plugins, configurar e conectar via linha de comando

AI Game Developer — Unity SKILLS and MCP

Instalação

Passo 1: Instalar Unity MCP Plugin

⚠️ Requisitos (clique)

[!IMPORTANTE] O caminho do projeto não pode conter espaços

  • C:/MyProjects/MyProject
  • C:/My Projects/MyProject
  • C:/My Projects/My Project
  • C:/MyProjects/My Project

Opção 1 - Instalador

  • ⬇️ Baixar Instalador
  • 📂 Importar instalador para o projeto Unity
    • Você pode dar um duplo clique no arquivo - o Unity o abrirá automaticamente
    • OU: Abra o Unity Editor primeiro, depois clique em Assets/Import Package/Custom Package, e escolha o arquivo

Opção 2 - CLI (recomendado)

Instale o plugin via unity-mcp-cli — sem necessidade do Unity Editor:

# 1.1 Install unity-mcp-cli                                #  ┌────────────────────┐
npm install -g unity-mcp-cli                               #  │ Available AI agent │
                                                           #  ├────────────────────┤
# 1.2 (Optional) Install Unity                             #  │ antigravity        │
unity-mcp-cli install-unity                                #  │ claude-code        │
                                                           #  │ claude-desktop     │
# 1.3 (Optional) Create Unity project                      #  │ cline              │
unity-mcp-cli create-project ./MyUnityProject              #  │ codex              │
                                                           #  │ cursor             │
# 2. Install "AI Game Developer" in Unity project          #  │ gemini             │
unity-mcp-cli install-plugin ./MyUnityProject              #  │ github-copilot-cli │
                                                           #  │ kilo-code          │
# 3. Sign in to ai-game.dev (OAuth device flow)            #  │ open-code          │
unity-mcp-cli login                                        #  │ rider-junie        │
                                                           #  │ unity-ai           │
# 4. Open Unity project (auto-connects and generates skills)  │ vs-copilot         │
unity-mcp-cli open ./MyUnityProject                        #  │ vscode-copilot     │
                                                           #  └────────────────────┘
# 5. Wait for Unity Editor to be ready
unity-mcp-cli wait-for-ready ./MyUnityProject

Consulte a documentação completa da CLI para todos os comandos disponíveis.

Login na nuvem e fixação de projeto: unity-mcp-cli login executa o fluxo de dispositivo OAuth no navegador e armazena a credencial no armazenamento compartilhado da máquina (~/.ai-game-dev/credentials.json) — não há token de acesso pessoal para colar. Por padrão, a configuração do agente de IA que setup-mcp escreve aponta para um endpoint fixado por projeto (https://ai-game.dev/mcp/p/<pin>); passe --no-pin para usar o endpoint compartilhado https://ai-game.dev/mcp. As equipes podem distribuir acesso com um código de inscrição: unity-mcp-cli install-plugin --enroll <code>.

Passo 2: Instalar AI agent

Escolha um único AI agent de sua preferência — você não precisa instalar todos. Esta será sua principal janela de chat para se comunicar com o LLM.

O AI Game Developer é bastante universal, por isso você pode usar qualquer agente de IA de sua preferência — ele funcionará tão bem quanto qualquer outro. O único requisito importante é que o agente de IA deve suportar Skills ou atualizações dinâmicas de Ferramentas MCP.

Passo 3: Configurar AI agent

Configuração automática

  • Abra o projeto Unity
  • Abra Window/AI Game Developer
  • Opção 1: Clique em Auto-generate Skills (recomendado)
  • Opção 2: Clique em Configure Model Context Protocol (MCP)

Unity_AI

Se o seu cliente MCP não estiver na lista, use o JSON bruto mostrado na janela para injetá-lo no seu cliente MCP. Leia as instruções do seu cliente MCP específico sobre como fazer isso.

Configuração manual

Se a configuração automática não funcionar para você por qualquer motivo, use o JSON da janela AI Game Developer (Unity-MCP) para configurar qualquer MCP Client manualmente.

Configuração por linha de comando

Criar comando

1. Escolha seu <command> para o seu ambiente

Plataforma<command>
Windows x64"<unityProjectPath>/Library/mcp-server/win-x64/gamedev-mcp-server.exe" port=<port> client-transport=stdio
Windows x86"<unityProjectPath>/Library/mcp-server/win-x86/gamedev-mcp-server.exe" port=<port> client-transport=stdio
Windows arm64"<unityProjectPath>/Library/mcp-server/win-arm64/gamedev-mcp-server.exe" port=<port> client-transport=stdio
MacOS Apple-Silicon"<unityProjectPath>/Library/mcp-server/osx-arm64/gamedev-mcp-server" port=<port> client-transport=stdio
MacOS Apple-Intel"<unityProjectPath>/Library/mcp-server/osx-x64/gamedev-mcp-server" port=<port> client-transport=stdio
Linux x64"<unityProjectPath>/Library/mcp-server/linux-x64/gamedev-mcp-server" port=<port> client-transport=stdio
Linux arm64"<unityProjectPath>/Library/mcp-server/linux-arm64/gamedev-mcp-server" port=<port> client-transport=stdio

2. Substitua <unityProjectPath> pelo caminho completo para o projeto Unity

3. Substitua <port> pela sua porta da configuração do AI Game Developer

4. Adicione o servidor MCP usando a linha de comando

Gemini CLI Gemini CLI
gemini mcp add ai-game-developer <command>

Substitua <command> da tabela acima

Claude Code CLI Claude Code CLI
claude mcp add ai-game-developer <command>

Substitua <command> da tabela acima

GitHub Copilot CLI GitHub Copilot CLI
copilot
/mcp add

Nome do servidor: ai-game-developer Tipo de servidor: local Comando: <command>

Substitua <command> da tabela acima

AI Game Developer — Unity SKILLS and MCP

Exemplos de Fluxos de Trabalho com IA

Comunique-se com a IA (LLM) no seu AI agent. Peça para ela fazer qualquer coisa que você quiser. Quanto melhor você descrever sua tarefa ou ideia, melhor ela executará o trabalho.

Alguns AI agents permitem que você escolha diferentes modelos de LLM. Preste atenção nesse recurso, pois alguns modelos podem funcionar muito melhor que outros.

Exemplos de prompts:

Explain my scene hierarchy
Create 3 spheres on top of each other
Create metallic golden material and attach it to a new sphere gameObject

Certifique-se de que o modo Agent esteja habilitado se estiver usando VS Code com Copilot

Desativando notificações de atualização para toda a equipe

O plugin mostra um popup de atualização na inicialização do Editor quando uma versão mais recente está disponível no OpenUPM. Por padrão, cada membro da equipe vê esse popup até clicar individualmente em "Não mostrar novamente" (que é uma configuração por usuário armazenada na máquina dele).

Para projetos Unity com várias pessoas onde um engenheiro é responsável pelo versionamento do plugin, você pode desativar o popup para a equipe inteira abrindo Edit ▸ Project Settings ▸ AI Game Developer e habilitando "Desativar notificações de atualização para toda a equipe". A configuração é persistida em ProjectSettings/AI-Game-Developer-UpdateSettings.asset e só precisa ser definida uma vez por projeto — faça commit desse arquivo e todos os membros da equipe que puxarem o commit terão o popup suprimido.

A mesma opção também pode ser acessada via Tools ▸ AI Game Developer ▸ Updates ▸ Disable Update Notifications (Team) na barra de menu.

Recursos Avançados para LLM

O Unity MCP fornece ferramentas avançadas que permitem que o LLM trabalhe mais rápido e com mais eficácia, evitando erros e se autocorrigindo quando ocorrem falhas. Tudo é projetado para alcançar seus objetivos de forma eficiente.

Capacidades Principais

  • ✔️ Ferramentas prontas para agente - Encontre qualquer coisa que precisar em 1-2 passos
  • ✔️ Compilação instantânea - Compilação e execução de código C# usando Roslyn para iteração mais rápida
  • ✔️ Acesso total a assets - Acesso de leitura/escrita a assets e scripts C#
  • ✔️ Feedback inteligente - Feedback positivo e negativo bem descrito para compreensão adequada de problemas

Recursos Baseados em Reflexão

  • ✔️ Referências a objetos - Fornece referências a objetos existentes para código C# instantâneo
  • ✔️ Acesso a dados do projeto - Obtenha acesso total aos dados do projeto em formato legível
  • ✔️ Modificações granulares - Preencha e modifique qualquer dado no projeto
  • ✔️ Descoberta de métodos - Encontre qualquer método em todo o código, incluindo arquivos DLL compilados
  • ✔️ Execução de métodos - Chame qualquer método em todo o código
  • ✔️ Parâmetros avançados - Forneça qualquer propriedade para chamadas de método, até mesmo referências a objetos existentes na memória
  • ✔️ API Unity ao vivo - API Unity disponível instantaneamente — mesmo quando o Unity muda, você obtém a API atualizada
  • ✔️ Autodocumentável - Acesse descrições legíveis de qualquer class, method, ou property via atributos Description

AI Game Developer — Unity SKILLS and MCP

Personalizar Ferramentas

Unity MCP suporta desenvolvimento de MCP Tool, MCP Resource, e MCP Prompt personalizados pelos proprietários do projeto. O servidor MCP coleta dados do Unity MCP Plugin e os expõe a um cliente. Qualquer pessoa na cadeia de comunicação MCP receberá informações sobre novos recursos MCP, que o LLM pode decidir usar em algum momento.

Adicionar Tool personalizado

Para adicionar um Tool personalizado, você precisa:

  1. Uma classe com o atributo AiToolType
  2. Um método na classe com o atributo AiTool
  3. Opcional: Adicione um atributo Description a cada argumento do método para ajudar o LLM a entendê-lo
  4. Opcional: Use propriedades string? optional = null com ? e valores padrão para marcá-las como optional para o LLM

Observe que a linha MainThread.Instance.Run(() => permite executar código na thread principal, o que é necessário para interagir com a API do Unity. Se você não precisar disso e executar a ferramenta em uma thread em segundo plano for aceitável, evite usar a thread principal por questões de eficiência.

[AiToolType]
public class Tool_GameObject
{
    [AiTool
    (
        "MyCustomTask",
        Title = "Create a new GameObject"
    )]
    [Description("Explain here to LLM what is this, when it should be called.")]
    public string CustomTask
    (
        [Description("Explain to LLM what is this.")]
        string inputData
    )
    {
        // do anything in background thread

        return MainThread.Instance.Run(() =>
        {
            // do something in main thread if needed

            return $"[Success] Operation completed.";
        });
    }
}

Adicionar MCP Prompt personalizado

MCP Prompt permite injetar prompts personalizados na conversa com o LLM. Ele suporta dois papéis de remetente: Usuário e Assistente. Esta é uma maneira rápida de instruir o LLM a executar tarefas específicas. Você pode gerar prompts usando dados personalizados, fornecendo listas ou qualquer outra informação relevante.

[AiPromptType]
public static class Prompt_ScriptingCode
{
    [AiPrompt(Name = "add-event-system", Role = Role.User)]
    [Description("Implement UnityEvent-based communication system between GameObjects.")]
    public string AddEventSystem()
    {
        return "Create event system using UnityEvents, UnityActions, or custom event delegates for decoupled communication between game systems and components.";
    }
}

AI Game Developer — Unity SKILLS and MCP

Uso em tempo de execução (no jogo)

Use Unity MCP no seu jogo/aplicativo. Use Ferramentas, Recursos ou Prompts. Por padrão, não há ferramentas; você precisará implementar as suas personalizadas.

// Build MCP plugin
var mcpPlugin = UnityMcpPluginRuntime.Initialize(builder =>
    {
        builder.WithConfig(config =>
        {
            config.Host = "http://localhost:8080";
            config.Token = "your-token";
        });
        // Automatically register all tools from the current assembly
        builder.WithToolsFromAssembly(Assembly.GetExecutingAssembly());
    })
    .Build();

await mcpPlugin.Connect(); // Start active connection with retry to the MCP server

await mcpPlugin.Disconnect(); // Stop active connection and close existed connection

Exemplo: Bot de jogo de Xadrez com IA

Existe um jogo clássico de Xadrez. Vamos terceirizar para o LLM a lógica do bot. O bot deve fazer a jogada usando as regras do jogo.

[AiToolType]
public static class ChessGameAI
{
    [AiTool("chess-do-turn", Title = "Do the turn")]
    [Description("Do the turn in the chess game. Returns true if the turn was accepted, false otherwise.")]
    public static Task<bool> DoTurn(int figureId, Vector2Int position)
    {
        return MainThread.Instance.RunAsync(() => ChessGameController.Instance.DoTurn(figureId, position));
    }

    [AiTool("chess-get-board", Title = "Get the board")]
    [Description("Get the current state of the chess board.")]
    public static Task<BoardData> GetBoard()
    {
        return MainThread.Instance.RunAsync(() => ChessGameController.Instance.GetBoardData());
    }
}

Por que o uso em tempo de execução é necessário?

Existem muitos casos de uso. Imagine que você está trabalhando em um jogo de Xadrez com um bot. Você pode terceirizar a tomada de decisão do bot para o LLM escrevendo apenas algumas linhas de código.

AI Game Developer — Unity SKILLS and MCP

Configuração do MCP Server Unity

O servidor Unity MCP suporta muitas opções diferentes de inicialização e implantação via Docker. Ambos os protocolos de transporte são suportados: streamableHttp e stdio. Se você precisar personalizar ou implantar o Unity MCP Server na nuvem, esta seção é para você. Leia mais...

Variáveis

Não importa qual opção de inicialização você escolher, todas suportam configuração personalizada usando tanto Variáveis de Ambiente quanto Argumentos de Linha de Comando. Funcionará com os valores padrão se você só precisar iniciá-lo; não perca tempo com as variáveis. Apenas certifique-se de que o Plugin Unity também tenha valores padrão, especialmente o --port, eles devem ser iguais.

Variável de AmbienteArgumentos de Linha de ComandoDescrição
MCP_PLUGIN_PORT--portCliente -> Servidor <- Plugin porta de conexão (padrão: 8080)
MCP_PLUGIN_CLIENT_TIMEOUT--plugin-timeoutPlugin -> Servidor tempo limite de conexão (ms) (padrão: 10000)
MCP_PLUGIN_CLIENT_TRANSPORT--client-transportCliente -> Servidor tipo de transporte: stdio ou streamableHttp (padrão: streamableHttp)
MCP_AUTHORIZATION--authorizationModo de autenticação para conexões Cliente recebidas: none, oauth, ou token (padrão: none; o modo legado required foi removido)
MCP_PLUGIN_TOKEN--tokenToken Bearer exigido do Cliente quando a autorização é token (padrão: não definido)
MCP_PLUGIN_IDLE_TIMEOUT_SECONDS--idle-timeout-secondsDesligue o servidor após este número de segundos sem conexões (padrão: 600)

Os argumentos de linha de comando também suportam a opção com um único prefixo - (-port) e uma opção sem prefixo algum (port).

Para variáveis de webhook de análise e autorização (MCP_PLUGIN_WEBHOOK_*), consulte docs/mcp-server.md.

Escolhendo um transporte: Use stdio quando o cliente MCP inicia o binário do servidor diretamente (uso local — esta é a configuração mais comum). Use streamableHttp ao executar o servidor como um processo independente ou em Docker/nuvem, e conectando via HTTP.

Variáveis do Plugin

O Unity MCP Plugin lê as seguintes variáveis de ambiente (e argumentos de linha de comando) na inicialização para substituir os valores do arquivo de configuração salvo. As substituições são aplicadas em tempo de execução; na primeira execução ou quando um novo token de autenticação é gerado, os valores substituídos são gravados no arquivo de configuração. Em execuções subsequentes, as substituições são aplicadas em memória, mas não são salvas automaticamente. A exceção é UNITY_MCP_TOOLS, que usa [JsonIgnore] e nunca é persistido — é apenas em tempo de execução.

Variável de AmbienteArgumento de Linha de ComandoValoresDescrição
UNITY_MCP_CLOUD_URL-urlstring de URLSubstitui a URL do MCP Server (UNITY_MCP_HOST é um alias legado)
UNITY_MCP_CONNECTION_MODE-UNITY_MCP_CONNECTION_MODECloud / CustomForça o modo de conexão (uma URL de loopback implica Custom)
UNITY_MCP_KEEP_CONNECTED-UNITY_MCP_KEEP_CONNECTEDtrue / falseForça ativar ou desativar a conexão ativa
UNITY_MCP_AUTH_OPTION-authnone / oauth / tokenForça a definição do modo de autenticação (legado required migra para token)
UNITY_MCP_TOKEN-tokenstringForça a definição do token de autenticação
UNITY_MCP_TRANSPORT-UNITY_MCP_TRANSPORTstdio / streamableHttpForça o transporte do cliente que o plugin configura
UNITY_MCP_START_SERVER-UNITY_MCP_START_SERVERtrue / falseForça se o plugin mantém um processo de servidor local em execução
UNITY_MCP_TOOLS-UNITY_MCP_TOOLSIDs de ferramentas separados por vírgulaHabilita apenas as ferramentas listadas; todas as outras são desativadas. IDs desconhecidos são registrados como erros.

Os argumentos de linha de comando têm precedência sobre as variáveis de ambiente. Ambos substituem o valor do arquivo de configuração salvo. Os sinalizadores curtos -url, -token e -auth são aliases; os nomes completos dos argumentos -UNITY_MCP_* também são aceitos.

Exemplo (modo lote CI/CD):

Unity.exe -batchmode -nographics \
  -UNITY_MCP_CLOUD_URL=http://localhost:8080 \
  -UNITY_MCP_KEEP_CONNECTED=true \
  -UNITY_MCP_AUTH_OPTION=token \
  -UNITY_MCP_TOKEN=my-secret-token

Docker 📦

Docker Image

Certifique-se de que o Docker esteja instalado. E certifique-se de que o Docker Desktop esteja iniciado se você estiver no sistema operacional Windows.

Leia as instruções avançadas de configuração do Docker.

Transporte streamableHttp

docker run -p 8080:8080 aigamedeveloper/mcp-server
config do MCP Client:
{
  "mcpServers": {
    "ai-game-developer": {
      "url": "http://localhost:8080"
    }
  }
}

Substitua url pelo seu endpoint real se estiver hospedado na nuvem.

Transporte stdio

Para usar esta variante, o MCP Client deve iniciar o MCP Server no docker. Isso é alcançável através da configuração modificada do MCP Client.

docker run -t -e MCP_PLUGIN_CLIENT_TRANSPORT=stdio -p 8080:8080 aigamedeveloper/mcp-server
config do MCP Client:
{
  "mcpServers": {
    "ai-game-developer": {
      "command": "docker",
      "args": [
        "run",
        "-t",
        "-e",
        "MCP_PLUGIN_CLIENT_TRANSPORT=stdio",
        "-p",
        "8080:8080",
        "aigamedeveloper/mcp-server"
      ]
    }
  }
}

port personalizado

docker run -e MCP_PLUGIN_PORT=123 -p 123:123 aigamedeveloper/mcp-server
config do MCP Client:
{
  "mcpServers": {
    "ai-game-developer": {
      "url": "http://localhost:123"
    }
  }
}

Substitua url pelo seu endpoint real se estiver hospedado na nuvem

Executável binário

Você pode iniciar o Unity MCP Server diretamente de um arquivo binário. Você precisará ter um binário compilado especificamente para a arquitetura da sua CPU. Verifique a Página de Lançamentos do GitHub, ela contém binários pré-compilados para todas as arquiteturas de CPU.

./gamedev-mcp-server --port 8080 --plugin-timeout 10000 --client-transport stdio
config do MCP Client:

Substitua <project> pelo caminho do seu projeto Unity.

{
  "mcpServers": {
    "ai-game-developer": {
      "command": "<project>/Library/mcp-server/win-x64/gamedev-mcp-server.exe",
      "args": [
        "--port=8080",
        "--plugin-timeout=10000",
        "--client-transport=stdio"
      ]
    }
  }
}

AI Game Developer — Unity SKILLS and MCP

Como Funciona a Arquitetura do Unity MCP

O Unity MCP serve como uma ponte entre LLMs e Unity. Ele expõe e explica as ferramentas do Unity ao LLM, que então entende a interface e utiliza as ferramentas de acordo com as solicitações do usuário.

Conecte o Unity MCP a clientes LLM como Claude ou Cursor usando a janela integrada do AI Connector. Clientes personalizados também são suportados.

O sistema é altamente extensível — você pode definir MCP Tools, MCP Resource ou MCP Prompt personalizados diretamente no código do seu projeto Unity, expondo novas capacidades a clientes de IA ou automação. Isso torna o Unity MCP uma base flexível para construir fluxos de trabalho avançados, prototipagem rápida e integração de recursos orientados por IA no seu processo de desenvolvimento.

O que é MCP

MCP - Model Context Protocol. Em poucas palavras, isso é USB Type-C para IA, especificamente para LLM (Large Language Model). Ele ensina ao LLM como usar recursos externos. Como o Unity Engine neste caso, ou até mesmo seu método C# personalizado no seu código. Documentação oficial.

O que é AI agent

É um aplicativo com uma janela de chat. Pode ter agentes inteligentes para operar melhor, pode ter ferramentas MCP avançadas incorporadas. Em geral, um MCP Client bem feito é 50% do sucesso da IA na execução de uma tarefa. É por isso que é muito importante escolher o melhor para uso.

O que é MCP Server

É uma ponte entre MCP Client e "algo mais", neste caso específico é o Unity Engine. Este projeto inclui MCP Server.

O que é MCP Tool

MCP Tool é uma função ou método que o LLM pode chamar para interagir com o Unity. Essas ferramentas atuam como a ponte entre solicitações em linguagem natural e operações reais do Unity. Quando você pede à IA para "criar um cubo" ou "mudar a cor do material", ela usa MCP Tools para executar essas ações.

Características principais:

  • Funções executáveis que realizam operações específicas
  • Parâmetros tipados com descrições para ajudar o LLM a entender quais dados fornecer
  • Valores de retorno que fornecem feedback sobre o sucesso ou falha da operação
  • Ciente de threads - pode ser executado na thread principal para chamadas da API Unity ou em thread de segundo plano para processamento pesado

Quando usar Tool

  • Automatize tarefas repetitivas - Crie ferramentas para operações comuns que você faz com frequência
  • Operações complexas - Agrupe múltiplas chamadas da API Unity em uma única ferramenta fácil de usar
  • Fluxos de trabalho específicos do projeto - Construa ferramentas que entendam a estrutura e convenções específicas do seu projeto
  • Tarefas propensas a erros - Crie ferramentas que incluam validação e tratamento de erros
  • Lógica de jogo personalizada - Exponha os sistemas do seu jogo à IA para criação dinâmica de conteúdo

Exemplos:

  • Criando e configurando GameObjects com componentes específicos
  • Processamento em lote de assets (texturas, materiais, prefabs)
  • Configurando iluminação e efeitos de pós-processamento
  • Gerando geometria de nível ou posicionando objetos proceduralmente
  • Configurando configurações de física ou camadas de colisão

O que é MCP Resource

MCP Resource fornece acesso somente leitura aos dados dentro do seu projeto Unity. Diferente das MCP Tools que executam ações, os Resources permitem que o LLM inspecione e entenda o estado atual do seu projeto, assets e configuração. Pense neles como "sensores" que dão à IA contexto sobre o seu projeto.

Características principais:

  • Acesso somente leitura aos dados do projeto e objetos Unity
  • Informações estruturadas apresentadas em um formato que o LLM possa entender
  • Dados em tempo real que refletem o estado atual do seu projeto
  • Consciência contextual ajudando a IA a tomar decisões informadas

Quando usar MCP Resource

  • Análise de projeto - Deixe a IA entender a estrutura, assets e organização do seu projeto
  • Assistência de depuração - Forneça informações de estado atual para solução de problemas
  • Sugestões inteligentes - Dê contexto à IA para fazer melhores recomendações
  • Geração de documentação - Crie documentação automaticamente com base no estado do projeto
  • Gerenciamento de assets - Ajude a IA a entender quais assets estão disponíveis e suas propriedades

Exemplos:

  • Expondo a hierarquia da cena e propriedades do GameObject
  • Listando materiais, texturas e suas configurações disponíveis
  • Mostrando dependências de scripts e relacionamentos de componentes
  • Exibindo a configuração atual de iluminação e pipeline de renderização
  • Fornecendo informações sobre fontes de áudio, animações e sistemas de partículas

O que é MCP Prompt

MCP Prompt permite que você injete prompts predefinidos na conversa com o LLM. São modelos inteligentes que podem fornecer contexto, instruções ou conhecimento para guiar o comportamento da IA. Os Prompts podem ser texto estático ou gerados dinamicamente com base no estado atual do seu projeto.

Características principais:

  • Orientação contextual que influencia como a IA responde
  • Baseado em papéis - pode simular diferentes personas (solicitações do usuário ou conhecimento do assistente)
  • Conteúdo dinâmico - pode incluir dados do projeto em tempo real
  • Modelos reutilizáveis para cenários e fluxos de trabalho comuns

Quando usar MCP Prompt

  • Fornecer conhecimento de domínio - Compartilhe melhores práticas e padrões de codificação específicos do seu projeto
  • Definir convenções de codificação - Estabeleça convenções de nomenclatura, padrões de arquitetura e estilo de código
  • Dar contexto sobre a estrutura do projeto - Explique como seu projeto está organizado e por quê
  • Compartilhar instruções de fluxo de trabalho - Forneça procedimentos passo a passo para tarefas comuns
  • Injetar conhecimento especializado - Adicione informações sobre recursos específicos do Unity, ativos de terceiros ou sistemas personalizados

Exemplos:

  • "Sempre use PascalCase para métodos públicos e camelCase para campos privados"
  • "Este projeto usa um sistema de eventos personalizado localizado em Scripts/Events/"
  • "Ao criar elementos de UI, sempre adicione-os ao Canvas em Scene/UI/MainCanvas"
  • "Desempenho é crítico - prefira pooling de objetos para objetos instanciados com frequência"
  • "Este projeto segue os princípios SOLID - explique qualquer decisão de arquitetura"

AI Game Developer — Unity SKILLS and MCP

Desinstalação 🧹

Para remover completamente o plugin do seu projeto Unity:

  1. Abra Window ▸ Package Manager, selecione o pacote AI Game Developer — MCP e clique em Remove.
  2. Feche o Unity e exclua a pasta Assets/Plugins/NuGet (junto com o arquivo Assets/Plugins/NuGet.meta).

AI Game Developer — Unity SKILLS and MCP

Contribuição 💙💛

Contribuições são muito apreciadas. Traga suas ideias e vamos tornar o desenvolvimento de jogos mais simples do que nunca! Você tem uma ideia para um novo Tool ou recurso, ou encontrou um bug e sabe como corrigi-lo?

Por favor, dê uma estrela a este projeto 🌟 se você o achar útil!

  1. 👉 Leia a documentação de desenvolvimento
  2. 👉 Fork o projeto
  3. Clone o fork e abra a pasta ./Unity-MCP-Plugin no Unity
  4. Implemente novas coisas no projeto, faça commit, envie para o GitHub
  5. Crie um Pull Request direcionado ao repositório original Unity-MCP, branch main.

AI Game Developer — Unity SKILLS and MCP