Como configurar um projeto Unity existente para um repositório do GitHub utilizando o GitHub Desktop


Um dos desafios iniciais para estudantes de criação de jogos digitais é o versionamento de projetos. Como a área de programação não é a única envolvida, estudantes de outras áreas podem ter dificuldades em entender como funcionam os versionamentos e como proteger seus projetos contra falhas graves, erros em alterações ou até mesmo problemas de hardware.

Outro ponto importante, principalmente no contexto acadêmico, é a entrega de trabalhos que envolvem projetos Unity. Um projeto Unity pode facilmente ultrapassar 1GB, principalmente devido às bibliotecas que acompanham o projeto. No entanto, ao configurar corretamente o repositório no GitHub, é possível reduzir o tamanho do projeto a poucos megabytes, facilitando a entrega em plataformas como Moodle, Blackboard, entre outras.

Neste tutorial, vou ensinar como utilizar o GitHub Desktop, uma ferramenta visual para gerenciamento de projetos. Você aprenderá a criar um repositório a partir de um projeto Unity já existente, enviá-lo para o GitHub e, se necessário, baixar o arquivo ZIP para realizar a entrega do projeto.

Sumário

Conhecendo o GitHub

Neste tópico, você verá os termos Git, GitHub e GitHub Desktop. Vamos entender o que são cada um deles.

Criação da conta no GitHub

Se você já tiver uma conta, pule para o próximo tópico.

Acesse o site https://github.com e, na página inicial, clique em Sign up.

Imagem da página inicial do GitHub com o botão Sign up

O processo de cadastro consiste em 3 etapas:

Para cada etapa, clique no botão Continuar. Durante o processo, pode ser solicitada a verificação da sua conta ou uma verificação para garantir que você não é um robô.

Imagem da página de cadastro para inserção do e-mail

Após concluir o cadastro, faça o login na sua conta para garantir que tudo está funcionando corretamente.

Instalação do GitHub Desktop

Faça o download do GitHub Desktop em https://desktop.github.com/download/.

A instalação segue o padrão de qualquer outro software. Não é necessário alterar nenhuma configuração durante o processo. Ao final da instalação, será solicitado que você faça login com suas credenciais do GitHub. Insira seu nome de usuário e senha, e você estará pronto para começar a gerenciar seus projetos.

Criando um repositório para testes: Um problema comum ao usar Unity e GitHub

Vamos criar um repositório para testes, e assim demonstrar um problema comum enfrentado pelos meus alunos. Ao criar um repositório no GitHub, você cria uma pasta em seu computador que armazenará os arquivos do projeto.

Para criar um repositório utilizando o GitHub Desktop:

Imagem da tela de criação de um novo repositório Git

Se este for o primeiro repositório que você está criando, a tela pode parecer um pouco diferente, mas você encontrará a opção para criar um novo repositório.

Imagem da tela de criação de um novo repositório Git

Depois de criar o repositório, a seguinte janela será exibida:

Imagem da tela do repositório recém-criado

Os campos apresentados nessa janela são:

  1. Menu de seleção do repositório: Permite alternar entre diferentes repositórios;
  2. Alterações e histórico: Aqui você verá a lista de arquivos modificados, adicionados ou removidos. Na aba History, você pode visualizar o histórico de Commits;
  3. Commit: Para preparar as alterações para envio ao repositório, forneça um título (Summary) e, opcionalmente, uma descrição. Clique em Commit to main para salvar as alterações localmente;
  4. Branch: Permite criar novas ramificações para desenvolvimento de funcionalidades ou correções. Isso é útil quando várias pessoas trabalham no mesmo projeto, pois você pode testar ideias sem afetar o projeto principal;
  5. Botão de publicação e sincronização: Se o repositório ainda não foi publicado, este botão permite publicá-lo. Se já foi publicado, ele serve para enviar alterações locais ao servidor ou baixar atualizações do servidor para seu computador;
  6. Janela central: Exibe dicas sobre o próximo passo, alterações em arquivos selecionados na aba Changes ou detalhes do histórico.

Agora que criamos o repositório, vamos demonstrar como transferir os arquivos de um projeto Unity para dentro do repositório. Esta não é a forma ideal, sendo usada apenas para ilustrar alguns problemas comuns.

Janela do repositório Git e projeto Unity

Os arquivos do projeto, como no exemplo abaixo, a pasta 2DGameKitTutorial, devem ser movidos para a raiz do repositório. Ao copiar o projeto para o repositório, os arquivos .gitattributes e .gitignore devem estar na mesma pasta que os arquivos do projeto Unity. Isso é essencial, pois o arquivo .gitignore contém instruções para ignorar as bibliotecas da Unity, como as pastas Library e Packages.

Agora vamos analisar erros comuns ao tentar transferir os arquivos do projeto Unity para o repositório:

Erro: Colocar a pasta do projeto Unity dentro da pasta do GitHub

Exemplo de erro ao colocar a pasta dentro do repositório

Esse erro ocorre porque os caminhos configurados no arquivo .gitignore não correspondem à estrutura do projeto. Como resultado, os arquivos que deveriam ser ignorados acabam sendo incluídos, aumentando o tamanho do repositório.

Erro: Criar um repositório dentro de um projeto Unity existente

A solução pode parecer simples: clicar em Create new repository... e selecionar a pasta do projeto Unity. No entanto, o GitHub não permite criar um repositório em uma pasta que já contenha arquivos, resultando em um erro.

Erro: Nome do repositório incompatível com o projeto Unity

Ao criar um repositório com um nome qualquer e, em seguida, mover os arquivos do projeto Unity para dentro desse repositório, o nome do projeto será alterado para o nome da pasta raiz. Portanto, é melhor evitar mover pastas e seguir para o próximo tópico para saber a abordagem correta.

Criando um repositório a partir de um projeto Unity existente

Para criar um repositório a partir de um projeto Unity existente, siga os passos abaixo:

Imagem da tela de adicionar um repositório existente

Imagem da tela para escolher um repositório

Imagem da tela de seleção da pasta do projeto Unity

Mensagem de alerta informando que o diretório não é um repositório Git

Janela de criação de repositório mostrando os campos preenchidos

Publicando o repositório na nuvem

Ao criar o repositório, o primeiro commit é feito automaticamente pelo GitHub Desktop. Se você clicar na aba History, verá o Initial commit e os arquivos que foram adicionados nesse commit.

Para publicar o repositório, basta clicar no botão Publish repository.

Imagem da tela para publicar o repositório

Na janela Publish repository, preste atenção no checkbox Keep this code private. Se marcado, ele garante que seu código não será acessível para pessoas que não façam parte do projeto. Se desmarcado, qualquer pessoa na internet poderá acessar e baixar o projeto.

Para projetos acadêmicos que valem nota, é importante deixar o código privado. Isso evita que colegas copiem seu projeto, o que pode levar à perda de nota ou até a uma acusação de plágio. Já para projetos de estudo ou portfólio, pode ser interessante deixar o código público. Dessa forma, recrutadores poderão acessar seus projetos e avaliar se a qualidade do seu código e projeto é compatível com o que estão procurando.

Imagem da janela de publicação do repositório no GitHub

Ao clicar em Publish repository, seu projeto será enviado para o GitHub, ficando acessível para que você possa baixá-lo de outro computador ou adicionar colaboradores ao projeto.

Acessando o repositório através do github.com

Acesse o site https://github.com e, se não estiver logado, faça login.

Na página principal, aparecerá a seção Top repositories, que lista os repositórios com mais commits em que você está trabalhando. Como você terá apenas um repositório inicialmente, poderá clicar nele para visualizar. Caso tenha vários repositórios, utilize a caixa de busca para localizar o repositório recém-criado.

Imagem da tela de busca de repositórios no GitHub

Na página do repositório, você terá acesso aos arquivos hospedados no GitHub, bem como a diversas ferramentas para o gerenciamento do projeto, como a possibilidade de criar uma página de documentação (Wiki) e muito mais. O escopo deste artigo é ensinar como trabalhar com o básico: subir o repositório e recuperar o projeto. No entanto, recomendo fortemente que você explore mais sobre o GitHub.

Imagem da página do repositório no GitHub

Clonando o repositório para outro computador

Uma das vantagens de ter seu projeto em um servidor na nuvem é a possibilidade de continuar trabalhando nele em outros computadores, desde que o GitHub Desktop esteja instalado e configurado.

Para clonar um repositório que está na nuvem, com o GitHub Desktop aberto, clique em Add -> Clone repository...

Imagem da tela de clonagem de um repositório

Na próxima janela, escolha o repositório que deseja clonar, selecione a pasta onde ele será copiado e clique em Clone:

Imagem da tela de clonagem de um repositório

Pronto! O projeto estará disponível no local selecionado para a clonagem e você poderá continuar de onde parou.

Baixando o arquivo ZIP para entregas de trabalhos acadêmicos

Um dos problemas ao entregar trabalhos acadêmicos que envolvem projetos Unity ou Unreal é o tamanho dos arquivos. Um projeto pode facilmente ultrapassar 1GB. Para quem costuma fazer entregas faltando apenas alguns minutos para o prazo, sabe que 1GB não sobe para o servidor em 1 minuto.

O uso do GitHub como intermediário, além de servir para versionamento, colaboração e edição em vários computadores, permite baixar uma versão compactada do projeto, com tamanho reduzido. Vamos comparar o tamanho do projeto completo usado neste exemplo:

Imagem do tamanho do projeto no repositório do GitHub

Mesmo que compactemos este projeto, dificilmente o tamanho será menor que 2GB.

Na página do repositório no site do GitHub, observe que há um botão verde chamado <> Code. Clique nele e verá algumas opções para clonar o repositório. A que nos interessa é a opção Download ZIP.

Imagem do botão de download do repositório no GitHub

Ao clicar, o navegador fará o download de uma versão compactada do projeto, contendo apenas os arquivos essenciais.

Apesar de ser um projeto grande, os arquivos enviados para o GitHub e que permitem a abertura do projeto completo ocupam apenas 288MB em sua versão compactada. Veja:

Imagem do tamanho do projeto compactado

Considerações sobre arquivos grandes (100MB ou mais): Entendendo o Git LFS

O GitHub, por ser um servidor primariamente voltado para códigos (que ocupam pouco espaço em disco), possui uma limitação padrão no tamanho dos arquivos que podem ser enviados. Não importa se seu projeto tem 1GB, o tamanho máximo de cada arquivo individual não pode ultrapassar 100MB.

Por isso, é uma boa prática evitar incluir arquivos PSD diretamente nos seus projetos Unity, preferindo os formatos exportados (PNG, JPG, TIFF, etc.). Caso precise enviar arquivos grandes para o GitHub, você pode usar o Git LFS (Large File Storage). No plano gratuito ou Pro, o limite é de 1GB (esse limite é compartilhado entre repositórios ou versões de arquivos grandes). Se precisar de mais espaço, é necessário pagar por GB adicional.

Imagem do tamanho do projeto compactado

Conclusão

Fazer o versionamento dos seus projetos é uma prática essencial. Se você não tiver conhecimento em versionamento, poderá ter dificuldades para conseguir trabalho como programador (de jogos ou sistemas). O GitHub é uma ferramenta versátil, oferecendo recursos de automação, inteligência artificial, gerenciamento de projetos, documentação, e muito mais. Aprender a usar o GitHub será extremamente útil em sua jornada como desenvolvedor.

Referências