Usar as Ferramentas do Visual Studio para Unity

Nesta seção, você aprenderá como usar os recursos de integração e produtividade das Ferramentas do Visual Studio para Unity e como usar o depurador do Visual Studio para desenvolvimento no Unity.

Abrir scripts do Unity no Visual Studio

Depois que o Visual Studio é definido como o editor externo para Unity, clicar duas vezes em um script do editor do Unity iniciará ou trocará automaticamente para o Visual Studio e abrirá o script escolhido.

Outra opção é abrir o Visual Studio sem um script aberto no editor fonte por meio da seleção do menu Ativos > Abrir Projeto do C# no Unity.

Screenshot of the Open C# project in Visual Studio.

Screenshot of the Open C# project in Visual Studio for Mac.

Acesso de documentação do Unity

Você pode acessar a documentação de script do Unity rapidamente pelo Visual Studio. Se as Ferramentas do Visual Studio para Unity não encontrarem a documentação da API localmente, elas tentarão localizá-la online.

  • No Visual Studio, realce ou posicione o cursor sobre a API do Unity sobre a qual deseja saber mais e, em seguida, pressione Ctrl+Alt+M, Ctrl+H
  • Você também pode usar o menu Ajuda > Referência da API do Unity em vez da associação de teclas.

Screenshot of the Unity API Reference menu in Visual Studio.

  • No Visual Studio para Mac, realce ou posicione o cursor sobre a API do Unity sobre a qual deseja saber mais e, em seguida, pressione Cmd+'
  • Você também pode usar o menu Ajuda > Referência da API do Unity em vez da associação de teclas.

Screenshot of the Unity API Reference menu in Visual Studio for Mac.

Intellisense para mensagens da API do Unity

O preenchimento de código Intellisense facilita a implementação de mensagens de API do Unity em scripts MonoBehaviour e auxilia no aprendizado da API do Unity. Para usar o IntelliSense para mensagens Unity:

  1. Posicione o cursor em uma nova linha dentro do corpo de uma classe derivada de MonoBehaviour.

  2. Comece a digitar o nome de uma mensagem do Unity, como OnTriggerEnter.

  3. Após digitar as letras "ont", uma lista de sugestões do IntelliSense será exibida.

Screenshot of using IntelliSense in Visual Studio.

  1. A seleção na lista pode ser alterada de três maneiras:

    • Com as teclas de direção Para cima e Para baixo.

    • Clicando com o mouse no item desejado.

    • Continuando a digitar o nome do item desejado.

  2. O IntelliSense pode inserir a mensagem Unity selecionada, incluindo todos os parâmetros necessários:

    • Pressionando Tab.

    • Pressionando Enter.

    • Clicando duas vezes no item selecionado.

Screenshot of the Insert Unity message from IntelliSense in Visual Studio.

Assistente de script do Unity MonoBehavior

Você pode usar o assistente do MonoBehavior para exibir uma lista de todos os métodos de API do Unity e implementar rapidamente uma definição vazia. Esse recurso, especialmente com o opção Gerar comentários de método habilitada, será útil se você ainda estiver aprendendo o que está disponível na API do Unity.

Para criar definições de método MonoBehavior vazias usando o assistente do MonoBehavior:

  1. No Visual Studio, posicione o cursor no local em que deseja inserir os métodos e, em seguida, pressione Ctrl+Shift+M para iniciar o assistente do MonoBehavior. No Visual Studio para Mac, pressione Cmd+Shift+M.

  2. Na janela Criar métodos de script, marque a caixa de seleção ao lado do nome de cada método que você quer adicionar.

  3. Use a lista suspensa versão do Framework para selecionar a versão desejada.

  4. Por padrão, os métodos são inseridos na posição do cursor. Como alternativa, você pode inseri-los após qualquer método que já esteja implementado em sua classe alterando o valor do Ponto de inserção na lista suspensa para o local desejado.

  5. Se desejar que o Assistente gere comentários para os métodos que você selecionou, marque a caixa de seleção Gerar comentários do método. Esses comentários servem para ajudá-lo a entender quando o método é chamado e quais são suas responsabilidades gerais.

  6. Selecione o botão OK para sair do assistente e inserir os métodos em seu código.

Screenshot of the monobehavior wizard dialog in Visual Studio.

Screenshot of the monobehavior wizard dialog in Visual Studio for Mac.

Gerenciador de Projetos do Unity

O Gerenciador de Projetos do Unity exibe todos os seus arquivos e diretórios de projeto do Unity da mesma maneira que o Editor do Unity. Isso é diferente de navegar nos scripts do Unity com a solução normal do Gerenciador de Soluções do Visual Studio, que os organiza em projetos e em uma solução gerada pelo Visual Studio.

  • No menu principal do Visual Studio, escolha Exibir > Gerenciador de Projetos do Unity. Atalho de teclado: Alt+Shift+E

Screenshot of the Unity Project Explorer window.

  • No Visual Studio para Mac, o Painel de Soluções se comporta automaticamente assim quando um projeto do Unity é aberto.

Depuração do Unity

Ferramentas do Visual Studio para Unity permitem depurar scripts do editor e jogos para seu projeto do Unity usando um depurador poderoso do Visual Studio.

Depuração no editor do Unity

Iniciar a depuração

  1. Conecte o Visual Studio com o Unity clicando no botão de Reprodução rotulado Anexar ao Unity, ou use o atalho de teclado F5.

Screenshot of the Attach to Unity button in Visual Studio.

  1. Conecte-se ao Visual Studio para Unity clicando no botão Executar ou pressione Comando + Enter ou F5.

Screenshot of the Play button in Visual Studio for Mac.

  1. Alterne para o Unity e clique no botão Reproduzir para executar o jogo no editor.

Screenshot of the Play button in Unity on Windows.

Screenshot of the Play button in Unity on macOS.

  1. Quando o jogo estiver em execução no editor do Unity e ao mesmo conectado ao Visual Studio, qualquer ponto de interrupção encontrado pausará a execução do jogo e mostrará a linha de código em que o jogo atingiu o ponto de interrupção no Visual Studio.

Parar a depuração

Clique no botão Parar no Visual Studio, ou use o atalho de teclado Shift+F5.

Screenshot of the Stop button in Visual Studio.

Clique no botão Parar no Visual Studio para Mac ou pressione Shift + Comando + Enter.

Screenshot of the Stop button in Visual Studio for Mac.

Para saber mais sobre a depuração no Visual Studio, consulte Documentação para primeiro acesso ao Depurador do Visual Studio.

Anexar ao Unity e Reproduzir

Para maior conveniência, você pode alterar o botão Anexar ao Unity para o modo Anexar ao Unity e Reproduzir.

  1. Clique na setinha para baixo ao lado do botão Anexar ao Unity.

  2. Selecione Anexar ao Unity e Reproduzir no menu suspenso.

    Screenshot of the Attach and play button in Visual Studio.

O botão de reprodução muda para Anexar ao Unity e Reproduzir. Agora, ao clicar nesse botão ou usar o atalho de teclado F5, alterna automaticamente para o editor do Unity e executa o jogo no editor, além de anexar o depurador do Visual Studio.

É possível iniciar a depuração e reproduzir o editor do Unity em uma única etapa diretamente do Visual Studio para Mac, escolhendo a configuração Anexar ao Unity e Reproduzir.

Screenshot of the Attach to Unity and Play button in Visual Studio for Mac.

Observação

Se você tiver iniciado a depuração usando a configuração Anexar ao Unity e Executar, o botão Parar também interromperá o Editor do Unity.

Depuração de builds de player do Unity

Você pode depurar builds de desenvolvimento de players do Unity com o Visual Studio.

Habilitar a depuração de scripts em um player do Unity

  1. No Unity, abra as Configurações de Build selecionando Arquivo Configurações de Build>.

  2. Na janela Configurações de Build, marque as caixas de seleção Build de Desenvolvimento e Depuração de Script.

    Screenshot of the Unity build settings for debugging.

Selecione uma instância do Unity à qual anexar o depurador

  • No Visual Studio, no menu principal, escolha Depurar > Anexar Depurador do Unity.

    Screenshot of the Attach Unity Debugging Window in Visual Studio.

    A caixa de diálogo Selecionar Instância do Unity exibe informações sobre cada instância do Unity a que você pode se conectar.

    Screenshot of the Choose an instance of Unity to connect to window in Visual Studio.

    Projeto O nome do projeto para Unity que está sendo executado nesta instância do Unity.

    Computador O nome do computador ou dispositivo no qual essa instância do Unity está em execução.

    Digite Editor se esta instância do Unity for executada como parte do Editor do Unity; digite Player se esta instância do Unity for um player autônomo.

    Porta O número da porta do soquete UDP pela qual esta instância do Unity está se comunicando.

Importante

Como as Ferramentas do Visual Studio para Unity e a instância do Unity se comunicam por um soquete de rede UDP, o firewall pode precisar de uma regra para dar permissão. Se for necessário, é possível que você veja um prompt e precisará autorizar a conexão para que o VSTU e o Unity possam se comunicar.

Selecionando uma instância do Unity que não aparece na lista

Se você tiver um Player do Unity conhecido em execução que não aparece na lista, poderá usar o botão IP de entrada na janela Selecionar Instância do Unity. Insira o endereço IP e a porta do Player do Unity em execução para conectar o depurador.

Para facilitar a depuração desse player sem inserir o IP e a porta todas as vezes, habilite a configuração Usar destinos de depuração salvos no menu Ferramentas> Opções > Ferramentas para o Unity > Geral.

Screenshot of the Use saved debug targets setting.

O Visual Studio mostrará destinos de depuração salvos como uma opção no botão Anexar ao Unity.

Screenshot of the Saved debug target setting.

  • No Visual Studio para Mac, no menu superior, escolha Executar > Anexar ao Processo.
  • Na caixa de diálogo Anexar ao Processo, selecione a opção Depurador do Unity no menu suspenso Depurador na parte inferior.
  • Selecione uma instância do Unity na lista e clique no botão Anexar.

Depurar uma DLL no projeto do Unity

Muitos desenvolvedores do Unity estão escrevendo componentes de código como DLLs externas para que a funcionalidade que desenvolvem possa ser facilmente compartilhada com outros projetos. Ferramentas do Visual Studio para Unity facilitam a depuração do código nessas DLLs perfeitamente com outro código no seu projeto do Unity.

Observação

Neste momento, as Ferramentas do Visual Studio para Unity dá suporte somente DLLs gerenciadas. Elas não oferecem suporte à depuração de DLLs de código nativo, como aquelas escritas em C++.

Observe que o cenário descrito aqui pressupõe que você tenha o código-fonte, ou seja, se você estiver desenvolvendo ou reutilizando seu próprio código primário ou se você tiver o código-fonte em uma biblioteca de terceiros e pretender implantá-lo em seu projeto do Unity como uma DLL. Esse cenário não descreve como depurar uma DLL para a qual você não tem o código-fonte.

Para depurar um projeto de DLL gerenciado usado em seu projeto do Unity

  1. Adicione o projeto de DLL existente para a solução do Visual Studio gerada pelas Ferramentas do Visual Studio para Unity. Com menos frequência, você pode iniciar um novo projeto DLL gerenciado para conter componentes de código no seu projeto do Unity; Se esse for o caso, você poderá adicionar um novo projeto de DLL gerenciado para a solução do Visual Studio em vez disso.

    Screenshot of the Add > Existing Item menu.

    Em ambos os casos, as Ferramentas do Visual Studio para Unity mantêm a referência de projeto, mesmo se ele tiver de gerar novamente os arquivos de projeto e solução novamente, então, você precisa executar essas etapas de uma vez.

  2. Faça referência ao perfil de framework do Unity correto no projeto de DLL. No Visual Studio, nas propriedades do projeto DLL, defina a propriedade Estrutura de destino para a versão do framework do Unity que você está usando. Essa é a Biblioteca de classes base di Unity que corresponde à compatibilidade de API que seu projeto tenha como alvo, como bibliotecas de classes base completas, micro ou da Web. Isso impede que a DLL chame métodos do framework que existem em outros frameworks ou níveis de compatibilidade, mas que podem não existir na versão de framework do Unity que você está usando.

Observação

O seguinte só é necessário se você estiver usando o runtime herdado do Unity. Se você estiver usando o novo runtime do Unity, não precisará mais usar esses perfis dedicados do 3.5. Use um perfil do .NET 4.x compatível com sua versão do Unity.

Screenshot of the selecting target framework for a project in Visual Studio.

  1. Copie a DLL para a pasta Ativos do seu projeto do Unity. No Unity, ativos são arquivos que são empacotados e implantados juntos com seu aplicativo do Unity para que eles possam ser carregados no tempo de execução. Uma vez que DLLs estão vinculadas no tempo de execução, elas devem ser implantadas como ativos. Para serem implantadas como um ativo, o Editor do Unity exige que as DLLs sejam colocadas dentro da pasta Ativos em seu projeto do Unity. Há duas formas de fazer isso:

    • Modifique as configurações de build do seu projeto de DLL para incluir uma tarefa posterior ao build que copia os arquivos DLL e PDB de saída de sua pasta de saída para a pasta Ativos do seu projeto do Unity.

    • Modifique as configurações de build do seu projeto de DLL para definir a pasta de saída como a pasta Ativos do seu projeto do Unity. Arquivos DLL e PDB serão colocados na pasta Ativos.

    Os arquivos PDB são necessários para a depuração porque eles contêm símbolos de depuração da DLL e mapeiam o código da DLL para sua forma de código-fonte. Se você tem como objetivo o runtime herdado, as Ferramentas do Visual Studio para Unity usarão informações da DLL e PDB para criar um arquivo DLL.MDB, que é o formato de símbolo de depuração usado pelo mecanismo de script do Unity herdado. Se você tem como objetivo o novo runtime e usa o Portable-PDB, o Ferramentas do Visual Studio para Unity não tentará fazer nenhuma conversão de símbolo, pois o novo runtime do Unity é capaz de consumir nativamente PDBs portáteis.

    Veja mais informações sobre a geração de PDB aqui. Se você tem como objetivo o novo runtime, certifique-se de que "Informações de depuração" está definido como "Portátil", para gerar o PDB portátil corretamente. Se você tem como objetivo o runtime herdado, precisará usar "Full".

  2. Depure seu código. Agora você pode depurar seu código-fonte de DLL junto com o código-fonte do seu projeto do Unity e usar todos os recursos de depuração com os quais esteja acostumado, como pontos de interrupção e depuração no código.

Atalhos do teclado

Você pode acessar rapidamente a funcionalidade Ferramentas do Unity para Visual Studio usando seus atalhos de teclado. Este é um resumo dos atalhos que estão disponíveis.

Comando Atalho Nome de comando de atalho
Abrir o Assistente do MonoBehavior CTRL+SHIFT+M EditorContextMenus.CodeWindow.ImplementMonoBehaviours
Abrir o Gerenciador de Projetos do Unity Alt+Shift+E View.UnityProjectExplorer
Acessar a documentação do Unity Ctrl+Alt+M, Ctrl+H Help.UnityAPIReference
Anexar ao depurador do Unity (player ou editor) sem padrão Debug.AttachUnityDebugger

Será possível alterar as combinações de teclas de atalho se não desejar o padrão. Para obter informações sobre como alterá-las, confira Identificar e personalizar atalhos de teclado no Visual Studio.

Comando Atalho Nome de comando de atalho
Abrir o Assistente do MonoBehavior Cmd+Shift+M EditorContextMenus.CodeWindow.ImplementMonoBehaviours
Acessar a documentação do Unity Cmd+' Help.UnityAPIReference

Será possível alterar as combinações de teclas de atalho se não desejar o padrão. Para obter informações sobre como alterar, consulte Personalizando o IDE.