5 dicas para usar o GitHub Copilot com Unity

Com as ferramentas de IA da Unity agora disponíveis em versão beta, estamos vendo muita emoção em torno de suas novas funcionalidades, nomeadamente o assistente de IA no Editor e suas integrações com ferramentas populares para desenvolvedores. Se você é novo na versão beta, você pode aprender mais na página da Internet de Ferramentas de IA. Nós também criamos uma série de vídeos tutorial para ajudá-lo a começar com suas características básicas.
Sentamos-nos com Stacey Haffner para discutir como ela usa GitHub Copilot com Unity para otimizar seus fluxos de trabalho de desenvolvimento de jogos. Stacey é uma antiga defensora principal de desenvolvedores na Microsoft, bem como um YouTuber com mais de uma década de experiência como desenvolvedora independente de jogos. Sua experiência abrange a tecnologia criadora em .NET, Xbox e Unity. Quando ela não está defendendo desenvolvedores, ela gerencia seu próprio estúdio independente e publica tutoriais de desenvolvimento de jogos duas vezes por semana.
Vamos mergulhar.
Dica 1: Trabalhe com a janela de contexto, não contra ela
“A janela de contexto é a memória de trabalho da IA para uma sessão que tem um limite. Dependendo do modelo subjacente que está sendo usado, o desempenho pode começar a degradar-se antes mesmo de atingir seu limite, portanto, as respostas podem ficar menos precisas à medida que uma sessão continua. O GitHub Copilot ajuda com isso, permitindo que você compacte uma sessão, mas se você ativar a compactação depois que o modelo subjacente já começou a se degradar, o estado degradado se torna sua nova linha de base. É por isso que recomendo estruturar seu fluxo de trabalho em torno deste limite desde o início.”
“Para recursos mais complexos, eu uso o fio de chat principal para orquestrar esse trabalho. Para um grande recurso, eu vou ter o fio principal quebrar o trabalho em pedaços focados, em seguida, iniciar agentes de fundo para lidar com cada um. Um agente de codificação lida com a implementação, um agente de validação revisa-o e, uma vez que a revisão passa, o ciclo se repete até que o recurso seja concluído. Cada agente trabalha em seu próprio contexto, então o fio principal permanece focado e apresenta um desempenho consistente por mais tempo.”

Dica 2: Configurar o ambiente do projeto
“Os modelos subjacentes que alimentam o GitHub Copilot são geralmente genericos, mas você pode personalizar o comportamento do Copilot adicionando arquivos de configuração à pasta GitHub em seu projeto. Você pode adicionar três tipos principais de arquivo para ajudar o GitHub Copilot a entender seu projeto e seu domínio.”
- As instruções personalizadas são contextos sempre disponíveis que o Copilot carrega para cada sessão que define a linha de base do seu projeto. Eles devem incluir convenções de codificação preferidas, especificações do projeto Unity (por exemplo, versão do Unity Engine e pipeline de renderização), padrões de arquitetura e preferências gerais. Use estes para coisas que devem ser sempre verdadeiras, independentemente da parte do projeto em que você está trabalhando.
- Os agentes são pessoas especializadas em domínios, cada uma com suas próprias ferramentas e instruções. Tenho agentes focados em shaders, UI Toolkit, sistemas de jogos, e assim por diante. No mais simples, você escolhe o agente que corresponde ao trabalho à mão, mas você pode adicionar mais estrutura incluindo transferências entre agentes.
- As habilidades são instruções modulares e reutilizáveis que só são carregadas quando uma tarefa específica as desencadeia. A descrição da habilidade é carregada em cada sessão para que o modelo saiba quando ligar, mas os detalhes completos só são carregados quando realmente são necessários. Por exemplo, o meu agente UI Toolkit chama habilidades individuais para estilo, escrita UXML e tarefas relacionadas, dependendo do que for necessário. Isso mantém o contexto de memória do modelo eficiente entre as tarefas.

Dica 3: Um grande plano vai um longo caminho
“O modo Plano é o primeiro passo antes de qualquer implementação começar. Quando você usa o comando /plan seguido de suas instruções específicas, o GitHub Copilot justifica através de sua base de códigos e solicita que um caminho de implementação seja mapeado antes de escrever uma única linha de código.
Certifique-se de descrever o recurso ou corrigir o máximo de detalhes relevantes possíveis, em seguida, peça ao Copilot para investigar e retornar com perguntas. O intercâmbio ajudará você a pensar através da experiência do usuário e funcionalidade em mais detalhes, que muitas vezes surge casos de borda. Uma vez concluída essa iteração, faça com que a IA defina as fases gerais da implementação, incluindo quais sistemas existentes ela usa, quais novas classes e métodos você precisa criar e como tudo se encaixa. Só então você deve deixá-lo escrever o código."

Dica 4: Não salte a revisão do código
“O código gerado pela IA precisa de revisão, especialmente se for o código que permanece no projeto a longo prazo. Uma vez que a implementação retorna, você deve tratá-lo como um pedido de puxar e ler por ele.”
“Eu tentei várias abordagens diferentes para isso antes que o VS Code enviasse a janela do agente, e agora eu uso isso mais. Posso destacar código específico e usar o comando /Explain para que a IA me siga o que faz, ou o comando /Review para que ele critique o código que acabou de escrever. A partir daí, eu vou adicionar comentários inline diretamente no diff, como eu faria em um pedido de pull real, e enviá-los de volta como um grupo para a IA para iteração.”
“Este hábito importa porque mantém o código à altura dos meus padrões e garante que mantenha uma compreensão profunda dos meus sistemas. Esse conhecimento ajuda-me a tomar as decisões de design corretas à medida que o jogo cresce.”

Dica 5: Use AI como um tutor pessoal
“Você pode usar o GitHub Copilot para criar um tutorial personalizado para qualquer conceito Unity que você queira aprender. Porque o GitHub Copilot pode ler o seu projeto, você pode pedir que ele ajuste a lição para o que seu jogo precisa e seu nível de habilidade.”
"Eu queria aprender shaders há muito tempo, então eu construí um agente Unity Shader Graph que se inclina muito para o ensino e usá-lo para fazer sobreposições com alvos de terra para combate. Quando encontrei um conceito que eu não compreendi completamente, eu podia fazer perguntas e só passava para o próximo passo quando estava pronto."
“É importante usar uma série de lições que construam independência ao longo do tempo. Por exemplo, pedi-lhe para fornecer tutoriais guiados para os dois primeiros shaders. Ele me guiou pelos nós desconhecidos e as matemáticas para que eu realmente entendi como cada shader funcionava. Eu queria construir o terceiro shader sozinho, então quando fiquei preso eu só pedi uma pista em vez da resposta. Ele me deu algumas perguntas de orientação que me ajudaram a identificar o próximo passo, e eu segui. No final do processo, eu realmente entendi o que eu tinha criado.”

Um olhar aprofundado com o Stacey e o acesso beta AI
Para um mergulho mais profundo, Stacey compartilhou vários vídeos cobrindo esses tópicos em seu canal do YouTube. O acesso ao assistente de IA no Editor da Unity está agora disponível em beta aberta. Comece seu teste gratuito de 14 dias aqui.
