– Unity suporta três linguagens de scripting, C#, UnityScript, também conhecido como JavaScript, e Boo. Embora só vamos usar C# para este curso, vou falar um pouco sobre as diferentes linguagens e as diferenças entre elas. Todas as linguagens da Unidade são orientadas para objectos e recolhidas em sacos de lixo. O C# tem uma grande base de utilizadores, mesmo fora da Unidade, o que torna muito fácil encontrar recursos e apoio. C# obriga à dactilografia estática, o que significa que deve especificar o tipo de objecto quando o declara. Isto pode ajudar a reduzir bugs ao apanhar erros de tipo em tempo de compilação em vez de tempo de execução.
C# também suporta algumas características que o UnityScript não suporta, tais como eventos e delegados, e genéricos. A seguir, há o UnityScript. Embora uma extensão de ficheiro possa ser .js, esta é realmente uma linguagem exclusiva da Unity chamada UnityScript. Embora as pessoas possam referir-se a ele como JavaScript, na realidade é bastante diferente do JavaScript normal e os dois não são permutáveis. As pessoas podem preferir UnityScript em vez de C# porque a sintaxe é mais simples. Por exemplo, iniciar coroutinas em UnityScript é muito mais fácil do que em C#. UnityScript também suporta digitação dinâmica, o que significa que não é necessário especificar o tipo de um objecto quando o declaramos, mas como mencionei antes, isto pode levar a erros em tempo de execução que seriam apanhados em tempo de compilação numa linguagem estaticamente digitada.
Finalmente, temos o Boo. Boo tem uma sintaxe semelhante a Python, que muitas pessoas gostam por ser mais legível em termos humanos do que outras línguas. No entanto, o número de pessoas que utilizam Boo in Unity em comparação com C# ou UnityScript é tão pequeno que pode ser difícil encontrar recursos sobre ele. No Unity 5, o suporte de documentação do Boo será abandonado e o item de menu “Create Boo Script” será removido. Qualquer que seja a língua que decida utilizar, deverá cingir-se a uma língua para todo o seu projecto. Embora diferentes línguas possam ser misturadas no mesmo projecto, não é recomendado.