> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-pt/scenes-sdk7/primeiros-passos/vibe-coding.md).

# Vibe Coding com IA

Crie scenes do Decentraland com assistentes de IA usando o Creator Hub e o SDK Skills oficial do Decentraland (npx skills add decentraland/sdk-skills).

Crie scenes do Decentraland descrevendo o que você quer. Um assistente de IA lida com o código SDK7, a arquitetura ECS e a estrutura do projeto para você.

Seja você um criador de primeira viagem ou um desenvolvedor experiente, o "vibe coding" assistido por IA permite passar de uma ideia para uma scene em execução em minutos em vez de horas.

{% hint style="info" %}
**💡 Dica**: Você não precisa saber TypeScript para começar. Assistentes de IA podem gerar código funcional de scene a partir de descrições em linguagem natural.
{% endhint %}

## O que é Vibe Coding?

Vibe coding significa construir scenes conversando com um assistente de IA em vez de escrever cada linha de código manualmente. Você descreve o que quer — "uma taverna medieval com portas clicáveis e música de fundo" — e a IA escreve código SDK7 correto e pronto para deploy.

Essa abordagem funciona em qualquer nível de habilidade:

* **Iniciantes e não desenvolvedores** — Vá do zero a uma scene funcional sem escrever código manualmente.
* **Desenvolvedores experientes** — Pule o boilerplate. Deixe a IA cuidar da sincronização multiplayer, da estruturação da UI e da configuração de deploy enquanto você se concentra nas decisões criativas.
* **Equipes e estúdios** — Prototipe rapidamente conceitos de scene antes de comprometer recursos completos de desenvolvimento.

## Use o Assistente de IA no Creator Hub

A maneira mais rápida de começar é o Creator Hub integrado [Assistente de IA](/creator/content-creator-pt/scene-editor/expandir-com-codigo/ai-assistant.md). Ele vê sua scene aberta, edita entities, components, smart items e código para você, e pode executar a preview para verificar seu próprio trabalho. Ele instala automaticamente as skills abaixo no seu projeto, então não há nada a configurar além de fazer login em uma CLI de programação.

É um recurso experimental, desativado por padrão.

## Combine um editor de código com IA

Use um editor de código de IA de uso geral como [Cursor](https://www.cursor.com/) ou o VS Code com GitHub Copilot ou Claude AI. O Decentraland fornece uma pasta de contexto para que essas ferramentas entendam o SDK.

1. Abra o Creator Hub e crie ou abra uma scene.
2. Clique no **< > CODE** botão para abrir seu editor de código.
3. Use o assistente de IA integrado ao editor (chat do Cursor, Copilot etc.) para gerar ou modificar código.

## Instale Skills para qualquer agente de IA

Skills são conjuntos de instruções prontos que ensinam seu agente de IA a trabalhar com o SDK do Decentraland. Cada skill cobre um tópico específico, como criar scenes, adicionar modelos 3D ou configurar multiplayer, então a IA já conhece os padrões, APIs e restrições corretos sem que você precise explicá-los. Instalar skills significa menos erros e melhores resultados desde o primeiro prompt.

```bash
# Escolha quais skills do Decentraland instalar em um seletor interativo
npx skills add decentraland/sdk-skills

# Ou instale todas as skills do Decentraland
npx skills add decentraland/sdk-skills --all

# Ou escolha skills específicas
npx skills add decentraland/sdk-skills --skill create-scene

# Instalar globalmente (disponível em todos os projetos)
npx skills add decentraland/sdk-skills -g
```

Isso copia os arquivos de skill para a configuração do seu agente, para que ele conheça os padrões e restrições do Decentraland.

## Atualizando Skills

Novas skills são adicionadas ao longo do tempo, e as existentes são aprimoradas. Para obter as versões mais recentes, execute novamente o comando de instalação com `--all`:

```bash
# Atualize todas as skills instaladas e baixe quaisquer novas
npx skills add decentraland/sdk-skills --all
```

Executar `add` novamente busca o repositório, então atualiza as skills que você já tem e instala quaisquer que tenham sido adicionadas desde a sua primeira instalação. Se você instalou skills globalmente, adicione `-g` a este comando também.

{% hint style="warning" %}
**📔 Observação**: Não use `npx skills update` para isso. Ele só atualiza as skills já no seu computador, então quaisquer skills adicionadas ao repositório depois da sua última instalação são ignoradas silenciosamente. Use sempre `npx skills add decentraland/sdk-skills --all` em vez disso.
{% endhint %}

## Skills de IA disponíveis

Quando você instala skills no seu agente, as seguintes capacidades ficam disponíveis:

| Skill                  | O que faz                                                                           |
| ---------------------- | ----------------------------------------------------------------------------------- |
| `sdk-scenes`           | Ponto de entrada com diretrizes para o agente e índice de todas as skills temáticas |
| `create-scene`         | Estruture um novo projeto de scene SDK7 do zero                                     |
| `migrate-sdk6-to-sdk7` | Migre uma scene legada do SDK6 para SDK7                                            |
| `add-3d-models`        | Adicione modelos 3D (`.glb`/`.gltf`) com posicionamento, escala, colliders          |
| `add-interactivity`    | Eventos de Pointer, triggers, raycasts                                              |
| `build-ui`             | UI em espaço de tela 2D com React-ECS — HUDs, menus, diálogos                       |
| `animations-tweens`    | Animações de modelos GLTF com Animator, tweens do SDK                               |
| `multiplayer-sync`     | Multiplayer peer-to-peer usando networking CRDT                                     |
| `authoritative-server` | Headless Multiplayer Server para scenes validadas pelo server (BETA)                |
| `audio-video`          | Efeitos sonoros, música, streaming de áudio e players de vídeo                      |
| `audio-analysis`       | Dados de amplitude e frequência em tempo real para scenes reativas a áudio          |
| `deploy-scene`         | Faça deploy de scenes para Genesis City (baseado em LAND)                           |
| `deploy-worlds`        | Faça deploy de scenes para Worlds (espaços 3D pessoais)                             |
| `optimize-scene`       | Otimização de performance, limites de scene, melhores práticas                      |
| `camera-control`       | Detecção de modo de camera, camera cinematográfica, câmeras virtuais                |
| `composites`           | Referência do formato de arquivo Composite para conteúdo estático de scene          |
| `lighting-environment` | Iluminação dinâmica, sombras, skybox, neblina, configurações de ambiente            |
| `particle-system`      | Efeitos de partículas — fogo, fumaça, faíscas, neve, fogos de artifício             |
| `npcs`                 | Personagens não jogáveis — biblioteca NPC Toolkit e abordagens manuais              |
| `player-avatar`        | Posição do player, perfil, personalização do avatar, attachments                    |
| `player-physics`       | Forças físicas — impulsos, knockback, forças contínuas                              |
| `nft-blockchain`       | Exibição de NFT e interações com blockchain/cripto                                  |
| `advanced-rendering`   | Billboard, TextShape, materiais PBR, materiais de vídeo                             |
| `advanced-input`       | Leitura de input em nível de system e controle de movimento do player               |
| `scene-runtime`        | APIs de runtime transversais — trabalho async, HTTP, messaging                      |
| `script-components`    | Classes de component script para o Creator Hub                                      |
| `game-design`          | Padrões de game design, limites de scene, orçamentos de performance                 |
| `unity-explorer-mcp`   | Controle um Explorer em execução para testar e verificar uma scene no mundo         |

Observação: algumas dessas skills envolvem buscar modelos 3D ou outros assets em catálogos gratuitos de assets. O agente de IA deve sempre obter confirmação do usuário antes de baixar quaisquer novos assets para um projeto de scene.

## Deixe a IA ver sua scene no mundo

Normalmente a IA escreve código e *você* executa a preview, olha para ela e relata o que está errado. O cliente desktop do Decentraland pode fechar esse ciclo: ele vem com um opcional **MCP server** que permite a um agente de IA observar e controlar diretamente o Explorer em execução. O agente tira seus próprios screenshots, lê a saída do console da scene, movimenta o player, clica em objetos e verifica se a scene realmente faz o que foi solicitado — depois corrige o que encontrar e olha novamente.

Isso transforma o vibe coding de "descreva, espere, revise" em um loop que o agente pode executar quase sozinho.

{% hint style="info" %}
**💡 Dica**: Instale o `unity-explorer-mcp` skill antes de tentar isso. Ele ensina ao agente todo o fluxo de trabalho — como iniciar o cliente, como enquadrar screenshots úteis, como cruzar o que ele vê com o estado real da scene e como se recuperar quando a scene para de carregar.

```bash
npx skills add decentraland/sdk-skills --skill unity-explorer-mcp
```

{% endhint %}

### O que você precisa

* O **cliente desktop do Decentraland** instalado (o mesmo que o Creator Hub abre para previews).
* Um agente de IA que possa se conectar a MCP servers via HTTP — Claude Code, Cursor, Cline, VS Code com uma extensão compatível com MCP e outros.
* Um SDK atualizado na sua scene: execute `npm i @dcl/sdk@latest` se a `--mcp` flag abaixo for rejeitada como uma opção desconhecida.

### 1. Inicie a scene com o MCP server ativado

Na pasta da sua scene:

```bash
npm run start -- --mcp
```

Isso faz o que `npm run start` sempre faz — serve sua scene em `http://127.0.0.1:8000` e faz hot-reload sempre que você salva um arquivo — e também inicia o cliente desktop com o MCP server ouvindo em `http://127.0.0.1:8123/unity-explorer-mcp`.

Faça login quando o cliente abrir. O agente só pode começar a trabalhar depois que você passar pela tela de login e o mundo carregar.

### 2. Conecte seu agente de IA ao server

Em **Claude Code**, registre-o uma vez:

```bash
claude mcp add --transport http --scope user explorer http://127.0.0.1:8123/unity-explorer-mcp
```

Em **qualquer outro cliente MCP**, adicione o server da forma documentada por esse cliente, usando estes detalhes:

| Configuração | Valor                                                                                                   |
| ------------ | ------------------------------------------------------------------------------------------------------- |
| Transporte   | Streamable HTTP (não stdio — não há comando para executar, o server vive dentro do cliente em execução) |
| URL          | `http://127.0.0.1:8123/unity-explorer-mcp`                                                              |
| Autenticação | Nenhum                                                                                                  |
| Nome         | `explorer`                                                                                              |

Muitos clientes usam um arquivo de configuração JSON para isso (`.cursor/mcp.json`, `mcp.json`, e similares — consulte a documentação do seu cliente para os nomes exatos das chaves):

```json
{
  "mcpServers": {
    "explorer": {
      "type": "http",
      "url": "http://127.0.0.1:8123/unity-explorer-mcp"
    }
  }
}
```

Reinicie ou recarregue seu cliente de IA após registrar o server, para que ele carregue a conexão. Se o agente disser que as ferramentas do Explorer não estão disponíveis, a causa usual é que o cliente não estava em execução quando o agente iniciou — reconecte o server (no Claude Code, execute `/mcp`) com o Explorer aberto.

{% hint style="info" %}
**Isso é seguro?** O server só roda enquanto você inicia o cliente com `--mcp`, aceita conexões apenas da sua própria máquina (`127.0.0.1`), e rejeita solicitações vindas de páginas da web. Nada é exposto à internet, e ele fica completamente desligado em uma inicialização normal do cliente.
{% endhint %}

### 3. Peça o que você quer e deixe que ele verifique

Com o server conectado, peça tarefas como faria normalmente — a diferença é que o agente agora pode verificar seus próprios resultados:

> "Adicione uma caixa de tesouro no centro da parcel que se abra quando clicada, depois vá até lá e clique nela para confirmar que a tampa anima."

> "A placa neon parece fraca demais. Tire uma screenshot, ajuste a intensidade emissiva e me mostre um antes/depois."

> "Tem algo errado com o elevador. Suba na plataforma, observe os logs e me diga por que ele não se move."

Nos bastidores, o agente pode:

* **Veja** — tirar screenshots, ler a `console.log` saída e os erros do console, verificar se a scene carregou ou travou, listar as entities da scene e inspecionar seus components, e ler a posição do player e da camera.
* **Controlar** — mover e teletransportar o player, caminhar em uma direção através de colisões reais, apontar a camera, posicionar uma camera livre para um enquadramento específico, trocar os modos de camera, clicar em objetos da scene, enviar mensagens de chat e `/commands`, acionar emotes e recarregar a scene.
* **Medir** — ler contagens em tempo real do conteúdo da scene (triangles, entities, textures, materials e mais) em relação aos limites do Decentraland, classificar quais modelos 3D mais contribuem para essa carga a partir de qualquer ponto de vista e medir a taxa de quadros real que o player experimenta em qualquer local.

### Use isso para otimizar sua scene

Como o agente pode medir assim como ver, você pode entregar diretamente a ele o trabalho de performance. Ele pode verificar sua scene em relação aos [limitações da scene](/creator/content-creator-pt/scenes-sdk7/otimizacao/scene-limitations.md), identificar quais modelos 3D são os mais pesados, medir a taxa de quadros em pontos específicos e, o mais importante, medir novamente após fazer alterações para provar que elas ajudaram:

> "Verifique se minha scene está dentro dos limites de conteúdo do Decentraland e me diga qual orçamento está mais próximo do limite."

> "A scene parece engasgar perto da fonte. Fique lá, meça a taxa de quadros e me diga quais modelos custam mais a partir desse ponto."

> "Otimize a scene: descubra o que está derrubando a taxa de quadros, corrija isso e me mostre medições antes e depois."

Para obter os melhores resultados, instale o `optimize-scene` skill juntamente com `unity-explorer-mcp`, para que o agente também conheça as melhores práticas de otimização do Decentraland. Veja [Otimização de desempenho](/creator/content-creator-pt/scenes-sdk7/otimizacao/performance-optimization.md#optimize-with-ai) para mais detalhes sobre este fluxo de trabalho, incluindo como combiná-lo com o Blender MCP server para automatizar correções nos próprios modelos 3D.

### Dicas

* **Peça provas, não afirmações.** "Verifique com uma screenshot" ou "confirme pelos logs" é o que faz esse fluxo valer a pena. Um bom agente cruza ambas as coisas: pixels podem parecer certos enquanto o estado subjacente está quebrado, e o contrário também.
* **Screenshots consomem tokens.** Cada screenshot que o agente analisa consome parte do seu contexto. Se você quiser uma varredura visual longa — uma animação ao longo do tempo, um walkthrough de muitos pontos — peça para ele capturar frames em arquivos e ler apenas os que importam. A `unity-explorer-mcp` skill inclui um script que faz exatamente isso.
* **Salve uma vez, não cinco vezes seguidas.** Salvamentos sucessivos rápidos podem fazer o cliente carregar um bundle parcialmente escrito e derrubar a scene por completo, o que exige reiniciar o cliente para se recuperar. Peça ao agente para agrupar suas edições em um único save.
* **Mantenha o cliente aberto.** Se você o fechar, a conexão cai e o agente perde seus olhos. Reiniciá-lo com o mesmo comando o traz de volta.
* **Teleports se comportam de forma diferente no desenvolvimento local de scene.** Mover-se entre parcels com `/goto` não é permitido lá, então o agente deve reposicionar o player dentro da scene em vez de teleportá-lo.

## Dicas para Prompting Eficaz

Obter os melhores resultados da IA tem a ver com fornecer prompts claros e específicos. Aqui estão algumas dicas:

### Seja específico sobre o que você quer

Em vez de:

> "Melhore minha scene"

Tente:

> "Adicione uma porta na posição (8, 0, 8) que se abra com uma animação de rotação quando clicada, e toque um efeito sonoro de rangido"

### Consulte itens existentes

> "Faça o botão vermelho na mesa acionar o elevador para subir"

### Peça uma coisa por vez

Divida pedidos complexos em etapas:

1. "Adicione uma UI de scoreboard no canto superior direito"
2. "Adicione um contador que aumente quando o player clicar no alvo"
3. "Exiba o valor do contador no scoreboard"

### Itere e refine

Após cada alteração:

1. Faça a preview da scene (clique **Play** no Creator Hub, ou `npm run start` na linha de comando)
2. Verifique o que funciona e o que não funciona
3. Diga à IA o que ajustar: "Mova o NPC 2 metros para a esquerda e faça-o olhar para o player"

### Exemplos de prompts

Para ser executado em um clone limpo de [sdk7-scene-template](https://github.com/decentraland/sdk7-scene-template/).

#### Exemplo de prompt 1

```
Quero que você descarte o código atual da scene e faça um pequeno jogo de labirinto simples, em 1 parcel, as paredes podem ser cubes, e elas devem ter collision.

O jogo deve começar quando o player realmente entrar no labirinto no ponto A e termina quando ele sair no ponto B (única saída do labirinto).

Quero que você adicione 3 portas diferentes no labirinto, que precisem ser interagidas com o input de Pointer para abrir e passar.

Você deve verificar que o player realmente consegue jogar e vencer
```

#### Exemplo de prompt 2

```
Quero que você descarte o código atual da scene e construa um jogo de plataforma simples.

Você precisa verificar que o jogo pode ser vencido antes de considerá-lo concluído.
```

## Com o que a IA pode ajudar

* Estruturar novas scenes a partir de uma descrição
* Adicionar e posicionar modelos 3D
* Escrever handlers de click e interatividade
* Construir UI (HUDs, menus, diálogos)
* Configurar a sincronização multiplayer
* Configurar o Multiplayer Server para anti-cheat
* Adicionar áudio, vídeo e streaming
* Criar animações e tweens
* Otimizar a performance da scene
* Preparar scenes para deploy
* Depurar problemas em código existente
* Testar e verificar visualmente uma scene em um Explorer em execução (veja [Deixe a IA ver sua scene no mundo](#let-the-ai-see-your-scene-in-world))

## Limitações

Embora as ferramentas de IA sejam poderosas, tenha isto em mente:

* **Sempre faça preview** — o código gerado por IA pode não parecer exatamente como você espera. Execute uma preview para verificar.
* **Os limites da scene continuam valendo** — a IA não pode contornar os [limitações da scene](/creator/content-creator-pt/scenes-sdk7/otimizacao/scene-limitations.md) (contagens de triangles, tamanhos de arquivo, limites de parcel).
* **Lógica de jogo complexa** — Para mecânicas de jogo intrincadas, talvez você precise orientar a IA passo a passo ou refinar a saída manualmente.
* **Modelos 3D personalizados** — a IA pode referenciar assets gratuitos existentes ou carregar modelos que você fornecer, mas não pode criar modelos 3D do zero (a menos que você use outras ferramentas como o Blender official MCP server ao mesmo tempo).

## Próximos passos

* [SDK Quick Start](/creator/content-creator-pt/scenes-sdk7/primeiros-passos/sdk-101.md) — Aprenda os fundamentos do SDK7
* [Combine com código](/creator/content-creator-pt/scene-editor/expandir-com-codigo/overview.md) — Misture edição visual com código
* [Multiplayer Server](/creator/content-creator-pt/scenes-sdk7/rede/authoritative-servers.md) — Multiplayer com server autoritativo
* [Exemplos de scenes](https://studios.decentraland.org/resources?sdk_version=SDK7) — Navegue por scenes de exemplo em busca de inspiração
* [Recursos Úteis](/creator/content-creator-pt/scenes-sdk7/primeiros-passos/useful-resources.md) — Mais ferramentas de IA, bibliotecas de assets e addons para acelerar seu workflow


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.decentraland.org/creator/content-creator-pt/scenes-sdk7/primeiros-passos/vibe-coding.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
