85 votes

Quel langage est utilisé pour développer avec Unity

Quel langage doit-on utiliser pour programmer avec Unity ? Ou s'agit-il d'une API pour de nombreux langages ?

J'ai lu les documents et je pense que je n'ai pas compris le langage utilisé.

Il est dit qu'il a le déploiement iOS, cela permettrait-il au programmeur de coder en Objective C ?

Est-ce que Unity est un sdk qui peut être utilisé pour de nombreuses plateformes ou comment fonctionne-t-il ? Il mentionne le déploiement du même code sur plusieurs plateformes.

135voto

Cody Hatch Points 4135

Tout le développement se fait en utilisant votre choix de C#, Boo ou un dialecte de JavaScript.

  • Le C# ne nécessite aucune explication :)
  • Boo est un langage CLI dont la syntaxe est très similaire à celle de Python ; il est toutefois typiquement statique et présente quelques autres différences. Ce n'est pas "vraiment" Python ; il y ressemble simplement.
  • La version de JavaScript utilisée par Unity est également un langage CLI, et est compilée. Les nouveaux venus pensent souvent que JS n'est pas aussi bon que les trois autres, mais il est compilé et tout aussi rapide et fonctionnel.

La plupart des exemples de code dans la documentation sont en JavaScript ; si vous vous promenez sur les forums officiels et le wiki, vous verrez un mélange assez équilibré de C# et de Javascript. Très peu de gens semblent utiliser Boo, mais c'est tout aussi bien ; choisissez le langage que vous connaissez déjà ou que vous êtes le plus heureux d'apprendre.

Unity prend votre code C#/JS/Boo et le compile pour le faire fonctionner sur iOS, Android, PC, Mac, XBox, PS3, Wii ou sur un plugin web. En fonction de la plateforme, il peut s'agir d'Objective C ou d'autre chose, mais c'est totalement transparent pour vous. Il n'y a vraiment aucun avantage à connaître l'Objective C ; vous ne pouvez pas programmer dedans.


Mise à jour 2019/31/01

À partir de la version 2017.2 d'Unity, "UnityScript" (la version d'Unity de JavaScript, mais pas identique) a fait son premier pas vers la dépréciation complète en supprimant l'option d'ajouter un fichier "JavaScript" à partir de l'interface utilisateur. Bien que les fichiers JS puissent encore être utilisés, leur prise en charge sera complètement abandonnée dans les versions ultérieures.

Cela signifie également que Boo deviendra inutilisable car son compilateur est en fait construit comme une couche au-dessus d'UnityScript et sera donc également supprimé.

Cela signifie qu'à l'avenir, seul C# bénéficiera d'un support natif.

L'unité a publié un article complet sur la dépréciation d'UnityScript et de Boo en août 2017.

45voto

SiGanteng Points 23915

Pour autant que je sache, vous pouvez opter pour le C#.

Vous pouvez également utiliser la langue obscure "Boo". ( Trouvé sur https://boo-language.github.io/ )

Dans le passé (avant 2012 environ), il était possible d'utiliser une variante étrange de Java, mais celle-ci est désormais dépréciée et ne fonctionne pas.

Notez qu'Unity s'adapte à Android / iOS, et à de nombreuses autres plateformes. Le fait que la programmation iOS utilise Objective-C ou Swift n'est absolument pas pertinent au niveau d'Unity3D. Unity est programmé en utilisant c#.

6voto

Calvin Points 3444

Lorsque vous construisez pour l'iPhone dans Unity, il effectue une compilation Ahead of Time (AOT) de votre assemblage mono (écrit en C# ou JavaScript) en code ARM natif.

L'outil de création crée également un projet xcode et fait référence à la librairie compilée. Vous pouvez ajouter du code C objectif à ce projet xcode si vous voulez faire des choses natives qui ne sont pas encore exposées dans l'environnement d'Unity (par exemple, accéder à la boussole et/ou au gyroscope).

5voto

Unity3d supporte C#, Boo et JavaScript. Le framework traduit ce dernier dans son format intermédiaire, puis dans la plateforme souhaitée (IOS/Android/Linux/Windows).

Gardez à l'esprit que les scripts C# sont compilés en premier, suivis par les JS et Boo. Par conséquent, si vous voulez qu'un script C# interagisse avec un JS, vous devrez conserver le JS dans le dossier des actifs standard.

3voto

IbrahimTG99 Points 57

Pour l'instant, seul C# peut être utilisé pour le scripting ; le support pour Boo et Javascript a été supprimé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X