– Unity soporta tres lenguajes de scripting, C#, UnityScript, también conocido como JavaScript, y Boo. Aunque sólo vamos a utilizar C# para este curso, voy a hablar un poco sobre los diferentes lenguajes y las diferencias entre ellos. Todos los lenguajes de Unity están orientados a objetos y recogen basura. C# tiene una gran base de usuarios, incluso fuera de Unity, lo que hace que sea muy fácil encontrar recursos y apoyo. C# fuerza la tipificación estática, lo que significa que usted debe especificar el tipo de un objeto cuando lo declara. Esto puede ayudar a reducir los errores al detectar los errores de tipo en tiempo de compilación en lugar de en tiempo de ejecución.
C# también soporta algunas características que UnityScript no soporta, como eventos y delegados, y genéricos. A continuación, está UnityScript. Aunque la extensión del archivo puede ser .js, en realidad se trata de un lenguaje exclusivo de Unity llamado UnityScript. Aunque la gente se refiera a él como JavaScript, en realidad es bastante diferente del JavaScript normal y los dos no son intercambiables. La gente puede preferir UnityScript sobre C# porque la sintaxis es más simple. Por ejemplo, iniciar coroutines en UnityScript es mucho más fácil que en C#. UnityScript también soporta tipado dinámico, lo que significa que no necesitas especificar el tipo de un objeto cuando lo declaras, pero como mencioné antes esto puede llevar a errores en tiempo de ejecución que se detectarían en tiempo de compilación en un lenguaje de tipado estático.
Por último, tenemos Boo. Boo tiene una sintaxis similar a la de Python, que a mucha gente le gusta por ser más legible que otros lenguajes. Sin embargo, el número de personas que usan Boo en Unity comparado con C# o UnityScript es tan pequeño que puede ser difícil encontrar recursos sobre él. En Unity 5, el soporte de la documentación de Boo será eliminado y el ítem de menú «Create Boo Script» será removido. Cualquiera que sea el lenguaje que decida utilizar, debería ceñirse a un solo lenguaje para todo su proyecto. Aunque se pueden mezclar diferentes idiomas en el mismo proyecto, no es recomendable.