¿Qué lenguaje se necesita usar cuando se programa con Unity? ¿O es una API para muchos idiomas?
Leí los documentos y creo que me perdí el punto sobre el lenguaje utilizado.
Dice que tiene implementación de iOS, ¿esto todavía permitiría al programador codificar en el objetivo C?
¿Es Unity un SDK que se puede usar para muchas plataformas o cómo funciona? Menciona implementar el mismo código en múltiples plataformas.
Todo el desarrollo se realiza utilizando su elección de C#, Boo o un dialecto de JavaScript.
La mayor parte del código de ejemplo en la documentación está en JavaScript; si hurgas en los foros oficiales y en la wiki, verás una combinación bastante pareja de C# y Javascript. Muy pocas personas parecen usar Boo, pero es igual de bueno; elige el idioma que ya conoces o eres el más feliz aprendiendo.
Unity toma su código C#/JS/Boo y lo compila para ejecutarse en iOS, Android, PC, Mac, XBox, PS3, Wii o complemento web. Dependiendo de la plataforma, podría terminar siendo Objective C o algo más, pero eso es completamente transparente para usted. Realmente no hay ningún beneficio en conocer Objective C; no se puede programar en él.
Actualización 2019/31/01
A partir de Unity 2017.2, "UnityScript" (la versión de JavaScript de Unity, pero no idéntica) dio su primer paso hacia la desaprobación total al eliminar la opción de agregar un archivo "JavaScript" desde la interfaz de usuario. Aunque los archivos JS aún se pueden usar, la compatibilidad se eliminará por completo en versiones posteriores.
Esto también significa que Boo quedará inutilizable ya que su compilador en realidad está construido como una capa encima de UnityScript y, por lo tanto, también se eliminará.
Esto significa que en el futuro solo C# tendrá soporte nativo.
Unity publicó un artículo completo sobre la desaprobación de UnityScript y Boo en agosto de 2017.
Hasta donde yo sé, puedes ir con C#.
También puedes usar el lenguaje oscuro "Boo". ( Encontrado en https://boo-language.github.io/ )
En el pasado (antes de 2012) era posible usar una variante extraña de Java, pero ahora está obsoleta y no funciona.
Tenga en cuenta que Unity se compila para Android/iOS y muchas otras plataformas. El hecho de que la programación de iOS use Objective-C o Swift es completamente irrelevante en el nivel de Unity3D. Unity se programa usando c#.
Cuando crea para iPhone en Unity, realiza una compilación Ahead of Time (AOT) de su ensamblaje mono (escrito en C# o JavaScript) en código ARM nativo.
La herramienta de creación también crea un proyecto xcode de código auxiliar y referencias que compilaron lib. Puede agregar código C objetivo a este proyecto xcode si hay cosas nativas que desea hacer que aún no están expuestas en el entorno de Unity (por ejemplo, acceder a la brújula y/o giroscopio).