– Unity supporta tre linguaggi di scripting, C#, UnityScript, conosciuto anche come JavaScript, e Boo. Anche se useremo solo C# per questo corso, parlerò un po’ dei diversi linguaggi e delle differenze tra loro. Tutti i linguaggi Unity sono orientati agli oggetti e raccolti da spazzatura. C# ha una grande base di utenti, anche al di fuori di Unity, il che rende molto facile trovare risorse e supporto. C# forza la tipizzazione statica, il che significa che dovete specificare il tipo di un oggetto quando lo dichiarate. Questo può aiutare a ridurre i bug catturando gli errori di tipo in fase di compilazione invece che in fase di esecuzione.
C# supporta anche alcune caratteristiche che UnityScript non supporta, come gli eventi e i delegati, e i generici. Poi c’è UnityScript. Mentre l’estensione del file può essere .js, questo è in realtà un linguaggio unico per Unity chiamato UnityScript. Mentre le persone possono riferirsi ad esso come a JavaScript, è in realtà molto diverso dal normale JavaScript e i due non sono intercambiabili. Le persone possono preferire UnityScript a C# perché la sintassi è più semplice. Per esempio, avviare coroutine in UnityScript è molto più facile che in C#. UnityScript supporta anche la tipizzazione dinamica, il che significa che non c’è bisogno di specificare il tipo di un oggetto quando lo si dichiara, ma come ho detto prima questo può portare ad errori in fase di esecuzione che verrebbero presi in fase di compilazione in un linguaggio a tipizzazione statica.
Infine, abbiamo Boo. Boo ha una sintassi simile a Python, che a molte persone piace perché è più leggibile di altri linguaggi. Tuttavia, il numero di persone che usano Boo in Unity rispetto a C# o UnityScript è così piccolo che può essere difficile trovare risorse su di esso. In Unity 5, il supporto alla documentazione Boo sarà abbandonato e la voce di menu “Create Boo Script” rimossa. Qualunque sia il linguaggio che decidete di usare, dovreste attenervi ad un solo linguaggio per tutto il vostro progetto. Mentre lingue diverse possono essere mischiate nello stesso progetto, non è raccomandato.