Modo Play
O Modo Play (Play Mode) executa a simulação do seu jogo na cena atual dentro da Scene View, permitindo que você itere sem precisar fazer um build-and-run completo. Pressione Play e seus scripts começarão a ser atualizados ao vivo; pressione Stop e a cena voltará exatamente ao que era antes.
A barra de ferramentas
Os controles de play ficam no centro da barra de menu principal, junto com uma leitura de FPS ao vivo durante a execução:
| Controle | Efeito |
|---|---|
| ▶ Play | Entra no modo Play e executa a cena atual |
| ▶ Play First Scene | Executa a primeira cena configurada no projeto (Project Settings → first scene), independentemente de qual cena esteja aberta. A cena do editor é restaurada ao parar (Stop). |
| ⏸ Pause | Congela a simulação (a cena permanece na tela) |
| ▶ Resume | Continua uma simulação pausada |
| ⏭ Step | Enquanto pausado, avança exatamente um quadro (frame) de atualização |
| ⏹ Stop | Encerra a simulação e restaura a cena do momento de edição |
Ctrl+P alterna entre Play ⇄ Stop.
Durante a execução, a viewport desenha uma borda colorida — laranja ao jogar, azul quando pausada.
O que é executado
Os scripts dos seus componentes executam seu ciclo de vida normal e seu update exatamente como fariam em um jogo finalizado (shipped): awake → enable → start no Play, update a cada quadro (frame), disable → destroy no Stop. O mesmo contexto do engine.Frame (tempo, input, transform, objetos, serviços) é injetado, de modo que um componente se comporta de forma idêntica no modo Play e em um build.
Input
O teclado e o mouse são direcionados para o jogo durante a execução. Cada asset de Input Actions no seu projeto é aplicado no início do Play, de modo que os scripts baseados em ações (como o exemplo FreeflyCamera — segure o botão direito do mouse para olhar, WASD para mover) funcionam imediatamente.
O estado nunca é poluído
O modo Play roda em sua própria cópia da cena. Qualquer coisa que a simulação faça — mover objetos, spawnar, mutar campos — acontece nessa cópia, nunca na cena que você está editando. O Stop restaura o estado anterior ao play exatamente, para que você possa jogar, experimentar e parar sem salvar alterações acidentais.
Como funciona (por baixo dos panos)
Como os seus scripts são arquivos .zig compilados, o Play os compila — junto com o engine — em uma pequena biblioteca de execução (play library) que o editor carrega e executa em processo (in-process), renderizando a cena ao vivo na viewport. A biblioteca é reconstruída apenas quando você altera um script, de modo que as execuções repetidas do Play são instantâneas. O primeiro Play após a edição de um script requer uma compilação rápida.
Para o design completo e os trade-offs entre em processo vs sub-processo, consulte a nota de design em docs/plans/play-mode.md no repositório do engine.