Unity 3D rentre dans la catégorie des « middlewares » : une solution de développement  multiplateforme pour le jeu vidéo.

Unity 3D au tout début de son développement était uniquement sur mac, un fort engouement des utilisateurs et une déception des utilisateurs PC de ne pas pouvoir l'utiliser sur une autre plateforme, les amenèrent à le porter sur PC.

Une très forte communauté entoure Unity3D :
Sa simplicité d'utilisation, sa flexibilité, et son très bon rapport qualité prix pour les professionnels souhaitant l'utiliser pour leur production en font un outil très en vogue.

 

Unity 3D fonctionnalités :

- Un Editeur tout en un, tout se passe a l'intérieur d'Unity pour faire son jeu.

- Un pipeline graphique optimisé pour DirectX et OpenGL.

- Asset Import : tout type de format, du .max, au .jpg, au .obj etc tout se fait très simplement avec un drag and drop.

- Shader 3.0 : toute une base de « shaders » intégrés prêt a l'emploi, rien ne nous empêche par la suite de créer nos propres « shaders » en fonction des besoins de nos projets :

- Un moteur physique intégré a Unity3D ( Ageia physx) très facilement utilisable en quelques clicks on intègre un objet physique ( rigidbody ).

- Un système de light gérant les Soft shadows ou hard shadows en temps réels.

- Un déploiement simple et multiplateforme, wii , iphone , pc , mac ....bientôt Xbox360 et PS3.

- Unity3D permet d'utiliser une très importante API, a l'aide de différents langages, C#,  JavaScript, Boo

- Un système de plugin externe faisable en C++, .net pouvant améliorer les fonctionnalités d'unity3D (pour les versions Pros).

 

 

Avantages :

- Sa simplicité d'accès : Une courbe d'apprentissage plus ou moins longue est nécessaire pour qu'une équipe de développement s'habitue à un moteur, unity3d s'apprivoise très facilement et rapidement.

- Sa flexibilité : En utilisant les méthodes agiles, Unity s'intègre parfaitement a ce type de méthodologie, ou les besoins en itérations successives sont fréquentes, intégrer rapidement une idée, prototyper, ou encore itérer et modifier une feature se fait naturellement et simplement.

- Puissance du Script Vs Performance : Unity3d apporte les deux, la facilité et la rapidité d'un langage de script pour le Gameplay, mais également les performances d'un langage compilé (C#).

 

Désavantages :

- Sources non accessible : Il est parfois complexe de devoir modifier unity3D en fonction de nos besoins, certaines modifications paraissant parfois très simples à effectuer, deviennent impossibles.

- Versions des librairies utilisées dans unity3d ne sont pas toujours très a jour. (Mono, Ageia, etc...)

- Pas d'outils de level building dans unity 3D.