Accueil > Pourquoi créer une application mobile sur Unity
Edson D.
8 avril 2022
Read this post in English

Pourquoi créer une application mobile sur Unity

Pourquoi créer une application mobile sur Unity

Unity est un moteur de jeu réunissant dans un seul logiciel un IDE (Integrated Development Environment) et un ensemble d’outils et de services.

On pense souvent à tort que cette technologie est dédiée aux jeux vidéo ; elle permet cependant de créer des expériences 2D ou 3D à destination d’un ensemble de plateformes dont le mobile. Ici, Le terme expérience à son importance et englobe à la fois applications, jeux vidéo, réalité virtuelle et augmentée, animation…

De nombreux secteurs d’activité ont adopté Unity : le jeux vidéo bien sûr, mais aussi l’architecture, l’industrie, la santé ou encore le cinéma.

 

Les avantages de Unity

 

Unity, un outil simple à prendre en main

 

La simplicité de l’outil s’exprime dès l’installation et la création d’un nouveau projet depuis le Hub Unity. Ce launcher permet d’installer la version d’Unity et les plugins souhaités. Il permet également de créer un projet en choisissant parmi plusieurs templates.

L’environnement de développement (IDE) fourni avec Unity est très simple à prendre en main. Un utilisateur inexpérimenté peut rapidement arriver à un résultat. La Scene view permet de visualiser instantanément le contenu de son expérience et d’en modifier son contenu ou les propriétés des objets qui la composent via un inspector.

L’utilisation du langage C# et d’une partie du framework .NET pour la réalisation de scripts contribue également à la simplicité de cette technologie.

Enfin, avec Unity, le Play Mode vous permet de tester instantanément votre production indépendamment de la plateforme cible, directement depuis l’IDE.

 

Prototyper rapidement avec Unity

 

Unity fournit dans son IDE et via son Asset Store un nombre de briques et outils impressionnant permettant d’obtenir un prototype viable très rapidement afin d’illustrer un concept, une idée ou une situation.

Dans l’Asset Store, on retrouve des ressources telles que des modèles 2D, 3D, du son, mais aussi des scripts, plugins et extensions développés par la communauté ou par Unity. Vous avez ainsi la possibilité d’accélérer vos développements en évitant de développer vous-même certains composants.

Les outils de Visual Scripting fournis par le logiciel permettront également un gain de temps en fonction de la situation et du profil de l’équipe. Il est même possible de créer une expérience sans aucune notion de code même visuel.

 

Unity : une technologie multiplateforme

 

Avec Unity, il est possible de cibler un nombre non négligeable de plateformes, notamment :

  • Les consoles de Sony, Microsoft, Nintendo et Google ;
  • Les desktops Windows, Linux ou Mac Os ;
  • Les casque AR/VR/MR tels que Hololens, Magic Leap ou Oculus
  • Le web
  • Et enfin le mobile avec iOS et Android

Il n’est pas rare que des applications réalisées avec Unity ciblent plusieurs de ces plateformes simultanément tant il est simple, la plupart du temps, d’en supporter plusieurs.

 

 

Une solution extensible

 

Unity est pensée pour être extensible. Il est assez simple de réaliser des plugins et extensions pour son IDE. Vous trouverez d’ailleurs nombre important d’extensions gratuites sur l’Asset Store. La gestion de toutes ces extensions, plugins, templates ou assets se fait depuis le Package Manager.

De nombreux éditeurs connus fournissent d’ailleurs des plugins Unity. Parmi eux, on peut citer Vuforia, Firebase, Azure PlayFab ou encore Microsoft App Center.

Une autre extension possible est celle du moteur de rendu. Bien que ceux proposés soit déjà très complets, il est également possible de créer son propre pipeline de rendu.

 

Réalité augmentée, réalité virtuelle et réalité mixte (AR/VR/MR)

 

Unity fait la part belle à l’expérience de réalité augmentée ou virtuelle en offrant une compatibilité avec ARKit et ARCore, et en permettant le support de nombreux appareils. Sa simplicité d’utilisation et les outils proposés en font une plateforme de choix pour réaliser ce type d’application.

Parmi ces outils, on retrouve :

  • ARFoundation qui offre une interface pour la gestion multiplateforme des fonctionnalités dans ce type d’application telles que les ancres, le tracking de visage ou le tracking de surface.
  • XR Interaction Toolkit qui permet d’ajouter des interactions dans une application AR/VR (Réalité augmentée / Réalité virtuelle) sans utiliser la moindre ligne de code.
  • Mars Unity qui fournit aux développeurs un environnement facilitant encore plus la création d’applications en réalité augmentée. Les outils et flux de production proposés par la solution permettent par exemple de tester une application AR (Réalité augmentée sans avoir à la déployer directement depuis l’éditeur.
  • Des acteurs tel que Vuforia fournissent également leurs solutions de réalité augmentée pour Unity.

 

Un ensemble de services

 

Unity fournit également un ensemble de services dédiés au travail d’équipe, de productivité, d’analyse, d’hébergement ou d’accompagnement, parmi lesquels on trouve :

  • Unity Build Server qui offre un pipeline de Build pour toutes les plateformes cibles ;
  • Cloud Content Delivery qui est un CDN (Content Delivery Network) ;
  • Cloud Diagnostic qui permet de centraliser les informations sur les bugs, crashs et erreurs au sein de l’application ;
  • Remote Config qui permet de mettre à jour le contenu de l’application à distance ;
  • Analytics qui permet de mieux connaitre ses utilisateurs ;
  • Plastic SCM, un outil de gestion de versions adapté au versionning des applications mêlant du code et des assets graphiques.

 

 

Quels sont les inconvénients de Unity ?

Malgré les nombreux avantages de cette technologies, Unity présente toutefois certaines faiblesses à garder en tête.

 

Il est facile de faire n’importe quoi

 

La simplicité d’utilisation et d’apprentissage d’Unity, additionnés à la puissance de son moteur, en font un outil parfait pour les débutants et personnes inexpérimentées qui souhaitent rapidement obtenir un résultat visuellement satisfaisant. Il en résulte bien souvent des projets mal structurés, aux performances douteuses, accumulant une dette technique considérable.

De bonnes pratiques existent et faire appel à des architectes et des lead techs, comme dans n’importe quel autre projet, est indispensable pour toutes applications destinées à être publiées. Il en va de votre image de marque.

⚠️ Attention à ne pas faire n’importe quoi !

 

Le modèle de licence

 

Le modèle de licence de Unity peut être considéré comme un inconvénient. En effet, bien qu’il existe une licence gratuite, celle-ci impose d’afficher un splash screen « made with Unity ». Une entreprise qui souhaite se débarrasser de cet écran devra considérer l’acquisition d’une licence Pro par développeur et par an. Néanmoins, le coût de la licence va pouvoir être compensé dans certains cas par la rapidité avec laquelle on va pouvoir créer une application en utilisant Unity.

 

Les recommandations de Cellenza sur l’utilisation d’Unity

 

Unity permet de faire à peu près tout et n’importe quoi, de l’application mobile à l’expérience en réalité augmentée (AR). Sa simplicité de prise en main et la puissance de son moteur en font un outil idéal pour de nombreuses situations. Néanmoins, cette technologie ne convient pas à tous les types de projets.

En dehors du jeu vidéo, dès lors qu’il s’agit d’une expérience 3D, nous recommandons d’utiliser Unity, d’autant plus s’il s’agit d’une expérience de réalité augmentée.

Le choix de cet outil va également être motivé par la taille de l’équipe et son expérience. Une petite équipe inexpérimentée ayant des contraintes de délai fortes a tout intérêt à partir sur cette solution. Elle pourra en effet gagner du temps grâce aux nombreux outils et plugins proposés, sans forcément avoir de grandes connaissances techniques.

 

Cas d’usage de Unity

 

Les cas d’utilisation de Unity sont très nombreux.

Un premier cas d’usage commun avec Unity est la création d’expérience de visite virtuelle, soit directement sur mobile soit directement sur un appareil de réalité virtuelle.

Un autre cas d’usage peut vous amener à considérer l’utilisation de Unity dans le cadre de tout projet ayant pour ambition d’augmenter les capacités humaines dans un dispositif de réalité augmentée : par exemple la recherche de chemin dans un entrepôt ou l’affichage en temps réel de la fiche technique/ aperçu d’un produit contenu dans une boite.

Dernier exemple d’utilisation : la réalisation d’outils de personnalisation (personnalisation d’espace ou de produit). Grâce au moteur de rendu, il est possible de proposer des projections et des modifications de l’espace ou de l’objet sans avoir à passer par la case production, tout en offrant la possibilité de partager ce contenu à des clients ou des partenaires.

Vous souhaitez être accompagné sur le développement de vos applications mobile ? Contactez Cellenza !

Et pour approfondir le sujet, n’hésitez pas à consulter notre série d’articles sur les différentes technologies pour développer des applis sur mobile :

 

Formation Microsoft AZ204

Nos autres articles
Meet .NET MAUI, the Technology Replacing Xamarin.Forms
Kotlin : le nouveau Java ?
Kotlin est un langage de programmation orienté objet et fonctionnel principalement développé par JetBrains. Conçu pour pouvoir être compilé pour...
Commentaires
Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Restez au courant des dernières actualités !
Le meilleur de l’actualité sur le Cloud, le DevOps, l’IT directement dans votre boîte mail.