– Unity unterstützt drei Skriptsprachen, C#, UnityScript, auch bekannt als JavaScript, und Boo. Obwohl wir in diesem Kurs nur C# verwenden werden, werde ich ein wenig über die verschiedenen Sprachen und die Unterschiede zwischen ihnen sprechen. Alle Unity-Sprachen sind objektorientiert und haben eine Müllsammelstelle. C# hat eine große Benutzerbasis, auch außerhalb von Unity, was es sehr einfach macht, Ressourcen und Support zu finden. C# erzwingt statische Typisierung, was bedeutet, dass Sie den Typ eines Objekts angeben müssen, wenn Sie es deklarieren. Dies kann helfen, Bugs zu reduzieren, indem Typfehler zur Kompilierzeit statt zur Laufzeit abgefangen werden.
C# unterstützt auch einige Features, die UnityScript nicht unterstützt, wie z. B. Events und Delegates und Generics. Dann gibt es noch UnityScript. Auch wenn die Dateierweiterung .js lautet, handelt es sich in Wirklichkeit um eine eigene Sprache für Unity namens UnityScript. Sie wird zwar als JavaScript bezeichnet, unterscheidet sich aber deutlich von normalem JavaScript und ist nicht mit diesem austauschbar. Manche Leute bevorzugen UnityScript gegenüber C#, weil die Syntax einfacher ist. Zum Beispiel ist das Starten von Coroutines in UnityScript viel einfacher als in C#. UnityScript unterstützt auch die dynamische Typisierung, was bedeutet, dass Sie den Typ eines Objekts nicht angeben müssen, wenn Sie es deklarieren, aber wie ich bereits erwähnt habe, kann dies zur Laufzeit zu Fehlern führen, die in einer statisch typisierten Sprache zur Kompilierzeit abgefangen werden würden.
Zuletzt haben wir Boo. Boo hat eine Syntax, die Python ähnelt, was viele Leute mögen, weil es besser lesbar ist als andere Sprachen. Allerdings ist die Anzahl der Leute, die Boo in Unity verwenden, im Vergleich zu C# oder UnityScript so gering, dass es schwierig sein kann, Ressourcen dazu zu finden. In Unity 5 wird der Support für die Boo-Dokumentation eingestellt und der Menüpunkt „Boo-Skript erstellen“ entfernt. Für welche Sprache Sie sich auch entscheiden, Sie sollten für Ihr gesamtes Projekt bei einer Sprache bleiben. Während verschiedene Sprachen im selben Projekt gemischt werden können, wird dies nicht empfohlen.