Engenharia Insper / Laboratório de Realidade Virtual e Jogos Digitais

GIT e Unity

Neste tutorial iremos apresentar como fazer as configurações necessárias para que o GIT funcione bem com a Unity. [Tutorial elaborado na Unity 2020.3]

Ao abrir um projeto no editor, vá em Edit -> Project Settings, procure por Version Control, e certifique-se que o modo esteja em Visible Meta Files, como na imagem.

Feito isso, busque pela opção Editor, esta área terá uma sessão Asset Serialization certifique-se de que em modo esteja Force Text

Feito isso, caso queira ver o conteúdo dos arquivos específicos da unity em seu formato de texto, basta abri-lo com seu editor de texto favorito.

O conteúdo mostrado é um arquivo no formato UnityYAML, e que apesar de ser inteligível você não irá querer resolver problemas de conflitos nesses arquivos, que podem ficar bastante extensos e complicados.

A Unity fornece uma ferramenta para que seja facilitado essa operação o Smart Merge^[1]^ vamos configurar o repositório para nosso projeto.

Navegue até a pasta raiz de seu projeto e inicie um repositório git, ou clone um repositório vazio que tenha criado no github.

Feito isso vamos inserir o arquivo .gitignore muito importante para que não tenhamos surpresas ao longo do desenvolvimento. Basta buscar o arquivo no projeto gitignore do GitHub^[2]^

Verifique que o gitignore está funcionando, neste primeiro commit adicionaremos apenas as pastas Assets, Packages e ProjectSettings.

Vamos então configurar o SmartMerge, para isso precisamos descobrir seu local de instalação primeiro. Em minha máquina ele se encontra em:

C:\Program Files\Unity\Hub\Editor\2020.3.14f1\Editor\Data\Tools\UnityYAMLMerge.exe

Sabendo seu local de instalação podemos configurá-lo, precisamos alterar algumas configurações locais de nosso repositório, para isso execute o seguinte comando:

Isso irá abrir o editor de texto configurado, agora basta definir as configurações como a seguir:

Precisamos agora criar um documento .gitattributes para deixar claro para o git quais arquivos utilizarão o SmartMerge, e deverá conter o seguinte conteúdo:

Por fim, mas não menos importante, é interessante configurar o GIT-LFS, que é uma ferramenta do git para lidar melhor com arquivos binários, como imagens, áudio e outros assets.

Para isso em seu repositório dê o seguinte comando:

Feito isso precisamos configurar quais arquivos serão gerenciados pelo lfs, para isso será necessário editar o arquivo .gitattributes que criamos anteriormente.

Agora sim, temos tudo configurado e podemos criar nosso commit inicial e trabalhar normalmente.^[3]^


[1] https://docs.unity3d.com/Manual/SmartMerge.html 

[2] https://github.com/github/gitignore/blob/master/Unity.gitignore 

[3] Se você leu até aqui você pode acessar esse repo: https://github.com/EmilFreme/Empty2DUnityRepo para verificar os arquivos de configuração.