Artigo: Diminuir o Tamanho da Build no Unity3D

Umas das perguntas mais frequentes entre os mais novos no desenvolvimento com a engine Unity3D é, por exemplo: Como diminuir o tamanho do meu apk, ou seja, como reduzir a build no Unity3D?

Pergunta não apenas corriqueira, mas também pertinente, pois nas versões do Unity o tamanho do arquivo gerado tem sofrido com esse problema.

Nesse artigo mostrarei algumas dicas para diminuir um pouco o tamanho final do seu apk. Sendo assim, pressuponho que o leitor já tenha conhecimento prévio do Unity.

imgres

O primeiro fator que deve ser conhecido, em quesito de parâmetro, é o tamanho padrão de uma build para a plataforma que você deseja. Para isso, basta criar a build em um projeto vazio para a plataforma escolhida.

Feito isso, você saberá o tamanho padrão do arquivo final sem nenhum asset ou configuração.

Muito bem. Agora que temos um parâmetro, vamos para as dicas desse artigo.

Tamanho das texturas

Verdade seja dita: todos gostamos de um jogo bonito com aqueles gráficos bem detalhados. Porém isso tem um preço.

Quando mais pixeis houver na sua textura ou sprite sheet para jogos 2d, mais espaço em memória irá precisar. Ou seja, nosso arquivo final vai ficar maior. E também temos outro problema: o tempo de carregamento, pois levará mais tempo para passar a imagem da memória fixa para a memória randômica.

Então o que recomendo é tentar encontrar um equilíbrio aqui, deixando apenas o que realmente você quer. Podem ser melhores texturas com maiores resoluções no caso, por exemplo, de uma visão mais próxima do personagem principal.

3resolucoes-da-fonte-do-sinal-podem-ser-escalonadas-para-projecao

Para jogos 2d que trabalham com sprite sheet não é diferente. Quando geramos nossos aquivos, temos que levar isso em consideração também. Se o seu jogo é para celulares, ele geralmente rodará em telas pequenas. Logo, aquela pedra no canto inferior esquerdo da tela talvez não precise ter 1024 x 1024 pixel.

Aqui também temos que pensar em otimizar o carregamento das sprites na memória. Afinal é uma prática comum colocar todos os frames das animações de um personagem em uma única imagem. Isso favorece no carregamento, pois torna menor a quantidade de vezes que a memória fixa é acessada. Procure separar as sprites sheets por designação, personagens, ambiente e UI, por exemplo.

SPRITE SHEET

Nossos ouvidos agradecem

Assim como o aspecto visual, a trilha do jogo é muito importante para a imersão. Esse é outro ponto em que podemos trabalhar. Eu já consegui ótimos resultados de custo-beneficio, convertendo minhas trilhas para ogg. E, caso você não use a uma música inteira, faça questão de cortar apenas a parte que vai ser usada no game.

Mais uma coisa

Essa vai exclusivo para o uso do mobile. Por padrão, o Unity3D está configurado para exportar tanto para processadores com arquitetura ARM quanto x86. Essa opção é chamada de FAT. Nas Player Settings, é possível escolher para apenas um dos formatos, embora escolher um deles acaba não garantindo o funcionamento em dispositivos com processadores.

unity-optimization-guide-android-p4-figure-58

Bom, pessoal. Existem muito outros pontos a serem observados, mas esses são os mais comuns que os recém-chegados ao Unity podem levar em consideração.

Se você gostou ou tem mais algum ponto para colaborar, deixa aí seu comentário. Até a próxima!

Allan Douglas

Allan Douglas (Redator) – Formado em Análise e Desenvolvimento de Sistemas (Estácio de Sá). Atualmente trabalha como Analista Líder na Teccenter no Recife – PE. Também desenvolve soluções WEB, Mobile e Games. É fanboy da SEGA e adora jogos de estratégia digitais ou analógicos.