Um Debugger Visual para os Signals do Godot
Meu Papel#
Criador e Maintainer
Detalhes Técnicos#
- Gratuito e open-source
- Disponível na Godot Asset Library e no Github
- Versão 1.0 lançada em janeiro de 2025
Notas de Desenvolvimento#
Uma das funcionalidades do Godot que sempre apreciei bastante é o suporte nativo da engine para sinais, que são uma implementação interna do que você chamaria de eventos em C#, por exemplo.
No entanto, à medida que um projeto cresce dentro da engine, torna-se bastante trabalhoso acompanhar todos os sinais em qualquer momento da execução de um jogo. Enfrentei esse problema durante um projeto para um cliente no Studio Bravarda e decidi aproveitar a oportunidade para explorar a arquitetura de plugins do Godot e tentar criar uma solução que funcionasse para mim e para a comunidade.
Fiquei extremamente impressionado com o sistema e consegui colocar um plugin funcionando do zero em dois dias, fazendo exatamente o que eu queria: permitir visualizar todos os sinais de um nó em forma de grafo.
Decidi lançar o plugin como um projeto FOSS, e a recepção tem sido incrível. Espero continuar mantendo-o e ajudá-lo a crescer junto com o Godot. Com sorte, eu e outros colaboradores conseguiremos transformá-lo no depurador de referência para sinais no ecossistema Godot.
Funcionalidades#
- Clique em um nó na árvore de cena remota e veja instantaneamente todas as conexões de seus sinais
- Visualize emissões de sinais em tempo real enquanto são emitidos no jogo
- Selecione e reorganize uma visualização em grafo para inspecionar suas conexões de sinais
- Congele as emissões de sinais para inspecioná-las depois
- Modifique a velocidade de emissão dos sinais para ajustar a experiência às suas necessidades de depuração
- Suporta inspeção de sinais internos e personalizados
- Suporta inspeção de nós internos, nós personalizados e autoloads — se está na árvore remota, você pode inspecioná-lo.
Extras#
Lancei um vídeo no meu canal do YouTube detalhando o processo de criação do plugin e compartilhando algumas lições aprendidas: