– Unity ondersteunt drie scripttalen, C#, UnityScript, ook bekend als JavaScript, en Boo. Hoewel we in deze cursus alleen C# zullen gebruiken, zal ik het toch even hebben over de verschillende talen en de verschillen ertussen. Alle Unity talen zijn object-georiënteerd en garbage-collected. C# heeft een grote gebruikersbasis, zelfs buiten Unity, wat het erg makkelijk maakt om bronnen en ondersteuning te vinden. C# dwingt static typing af, wat betekent dat je het type van een object moet specificeren wanneer je het declareert. Dit kan helpen bugs te verminderen door typefouten op te sporen tijdens het compileren in plaats van runtime.
C# ondersteunt ook enkele functies die UnityScript niet ondersteunt, zoals events en delegates, en generics. Vervolgens is er UnityScript. Hoewel een bestandsextensie .js kan zijn, is dit eigenlijk een taal die uniek is voor Unity, UnityScript genaamd. Hoewel mensen ernaar verwijzen als JavaScript, is het eigenlijk heel anders dan normale JavaScript en de twee zijn niet uitwisselbaar. Mensen kunnen de voorkeur geven aan UnityScript boven C# omdat de syntax eenvoudiger is. Het starten van coroutines in UnityScript is bijvoorbeeld veel eenvoudiger dan in C#. UnityScript ondersteunt ook dynamic typing, wat betekent dat je het type van een object niet hoeft op te geven als je het declareert, maar zoals ik al eerder zei kan dit leiden tot fouten tijdens runtime die in een statisch getypeerde taal tijdens het compileren zouden worden opgespoord.
Ten slotte hebben we Boo. Boo heeft een syntaxis die lijkt op die van Python, wat veel mensen prettig vinden omdat het menselijker leesbaar is dan andere talen. Echter, het aantal mensen dat Boo gebruikt in Unity in vergelijking met C# of UnityScript is zo klein dat het moeilijk kan zijn om er bronnen over te vinden. In Unity 5 zal de ondersteuning voor Boo-documentatie komen te vervallen en zal het menu-item “Maak Boo Script” worden verwijderd. Welke taal je ook besluit te gebruiken, je zou het bij één taal moeten houden voor je hele project. Hoewel verschillende talen gemengd kunnen worden in hetzelfde project, is het niet aan te raden.