Criar um único Script gigante ou devo dividir em diversos outros menores?
Pois é, está é uma das principais dúvidas da maioria dos desenvolvedores iniciantes.
Afinal temos sempre a sensação de que menos scripts no projeto ajudam a performance dele, será mesmo?
Script Único Gigantesco
Ao criar um único script gigantesco para o seu jogo na Unity, você concentra toda a lógica do jogo em um só lugar.
E isso pode passa a falsa sensação de facilitar o entendimento do código para pequenos projetos ou desenvolvedores indies.
No entanto, conforme o projeto cresce, esse método pode se tornar difícil de gerenciar e manter.
E os problemas com scripts gigantescos incluem a dificuldade de localizar e corrigir bugs.
E a complexidade excessiva que dificulta a compreensão do código, somada a falta de reutilização de código em outros projetos.
Além disso, pode haver uma sobrecarga de processamento, já que todas as operações são tratadas em um único script.
Múltiplos Scripts
Dividir a lógica do jogo em vários scripts oferece uma abordagem modular e organizada.
Onde cada script pode ser responsável por uma parte específica do jogo, como movimentação, skills, animações.
E isso facilita a manutenção, a colaboração entre membros da equipe e a reutilização de código.
E em resumo, tanto por organização quanto pelas melhores práticas, é recomendado sempre dividir os scripts.
Mas, sempre de forma coerente, ou seja, cada script pode ficar responsável por uma parte específica do sistema.
Por exemplo: PlayerAnim, PlayerMoviment,PlayerSkills, PlayerData, etc.
E repare que todos essas lógicas participam do funcionamento do player, mas são responsáveis por sistemas diferentes.
O número de Scripts realmente importa?
Quando se trata de desempenho, a quantidade de scripts pode ter um impacto mínimo.
Mas, não é o único fator determinante, a forma como o script foi codificado tem um impacto infinitamente maior.
Ou seja, a falta de melhores práticas na programação é que faz o processamento do jogo pesar.
Por exemplo, você tem 120 scripts que utilizam da Função Start para referenciar variáveis.
E ao dar um play em seu jogo, ele ira dar uma congelada e até travar por um momento até rodar esses 120 starts.
Nesse caso 1 único script rodando o Start é mais vantajoso, e essa travada nem ocorrerá.
Mas, se você utilizar das melhores práticas e fizer todas as referências desses 120 scripts lá no inspector da Unity.
Ao dar play, os 120 pesarão menos do que 1 único script rodando o Start, pois, as referências já foram feitas sem a necessidade do Start.
E lógico que esse é um exemplo exagerado só pra exemplificar, mas perceba que não tem muito a ver com quantidade.
E sim com a forma que seu script foi criado, pois, 1 único Script mal codificado, pode pesar mais do que vários.
A quantidade de scripts em um projeto Unity é apenas um aspecto mínimo a ser considerado na otimização de desempenho.
E enquanto scripts gigantes podem se tornar difíceis de gerenciar, a divisão de scripts é muito mais recomendada.
E o principal vilão é sim não utilizar das melhores práticas em seu projeto.
Por isso logo abaixo separamos um vídeo bem bacana sobre as práticas que realmente prejudicam a performance de seus jogos!
Seja o primeiro a comentar.