En immersion sur le Vision Pro : les développeurs USERADGENTS passent au crible le casque d’Apple

Marion Griesemann Responsable Éditoriale
Julien Pipard LEAD DEV iOS
7 Mai 2025 • Lecture 11 min

Depuis le jour de sa présentation au public lors de la WWDC en 2023, le casque de réalité mixte ou plutôt l’ordinateur spatial d’Apple fait débat. Qu’il s’agisse de son prix d’un côté (qui en fait un produit de niche plutôt réservé aux aficionados et aux pros) ou de ses capacités d’immersion plutôt exceptionnelles de l’autre, il est au centre de nombreux commentaires (positifs ou négatifs) et surtout de nombreuses interrogations sur ses usages potentiels pour les marques. Après une 1ère confrontation avec visionOS, nos développeurs mobiles se sont donnés pour mission d’explorer plus en profondeur le Vision Pro, à la découverte de son écosystème de frameworks maison & tiers et de toutes ses possibilités, pour le développement natif mais aussi hybride. 

Aujourd’hui, et à quelques semaines de la prochaine WWDC qui devrait comporter son lot d’annonces sur visionOS, ils partagent avec vous ce qu’ils ont appris et vous donnent leurs conclusions sur l’avenir du device et son panel d’outils.

Test #1 : développement d’une application aux usages “classiques”

Si d’un point de vue utilisateur, le Vision Pro prend tout son sens pour servir des expériences de divertissement, nous avons décidé de commencer nos tests avec le développement d’une application de service et plus spécifiquement d’une application e-commerce. Pourquoi ? Car ce secteur et ses enjeux font partie intégrante de l’ADN de l’agence et de celui de nos clients et il nous a donc semblé clé d’évaluer la pertinence du device pour ces usages, en validant l’expérience qui peut être offerte aux utilisateurs finaux et en vérifiant la faisabilité du process pour nos développeurs.

Déployer une application existante pour visionOS

Notre premier test a consisté à déployer une application native iOS sur le Vision Pro dont l’utilisation est parfaitement transposable en version spatiale en l’état. Dans ce cas, il suffit tout simplement d'activer la compatibilité avec le Vision Pro en configurant visionOS (Designed for iPhone / iPad) dans l’outil de développement Xcode commun à tous les devices Apple. Cela permet d'exécuter l’application en mode iPhone (ou iPad si vous faites le test avec une app iPadOS), avec une interface en 2D affichée dans un espace flottant. Dans ce mode, l’application se comporte comme une application iPhone ou iPad exécutée sur visionOS. Elle s’ouvrira alors dans le format disponible le plus adapté : iPad par défaut, sinon iPhone.

Bien que cette approche soit simple, elle implique d’organiser le code pour s’adapter aux différences entre iOS, iPadOS et visionOS. Il sera donc nécessaire :

  • D’identifier les composants spécifiques à iOS/iPadOS qui ne sont pas compatibles avec visionOS (la barre de statut, la gestion classique du clavier…).
  • Si besoin, de cloisonner certaines parties du code pour adapter l’affichage en fonction de la destination 
  • D’anticiper l’évolution future de l’application si une transition vers une version plus immersive est envisagée.

Dans les faits, ce n’est donc pas plus compliqué que de gérer une application compatible iPad et iPhone. Une stratégie mainte fois mise en place chez Useradgents… Plutôt appréciable d’être en terrain connu ! 

En termes d’expérience, l’adaptation est globalement très réussie : les interactions sont naturelles et l’utilisateur devrait lui aussi rapidement retrouver ses repères car l’application se manipule vraiment comme sur un smartphone, en interagissant directement avec les éléments affichés à l’écran avec le doigt. Nous avons toutefois pu identifier quelques besoins d’adaptations :

  • Pour rendre les éléments en surbrillance (highlights) ou cliquables plus visibles et ainsi faciliter la navigation par le regard (cette adaptation peut demander plus ou moins d’efforts selon les applications, mais n’empêche pas leur bon fonctionnement). 
  • Pour gérer les problèmes de mise en forme et de lisibilité lorsque le Vision Pro force l’affichage en paysage d’une application iOS qui avait été définie en mode portrait uniquement. Les éditeurs d’apps ayant une version iPad rencontreront moins de difficultés.
  • Pour adapter l’expérience et le fonctionnel communs à beaucoup d’applications e-commerce. En effet, la plupart des fonctionnalités classiques, comme la lecture de vidéo dans les fiches produits, fonctionnent très bien. Côté paiement, rien ne change, si ce n’est que les codes de vérification envoyés dans le cadre de l'authentification à deux facteurs continueront à être envoyés sur le smartphone de l’utilisateur et pas sur le Vision Pro. D’autres fonctionnalités en revanche sont encore bloquées, notamment pour les apps qui utilisent la caméra au cœur de leur parcours (recherche visuelle, authentification biométrique…) car l’appareil photo n’est pas supporté à date. La bibliothèque de photos est, elle, bien disponible. 

A noter : vous pouvez aussi très bien décider de réadapter certaines parties de votre interface spécifiquement pour le Vision Pro sur SwiftUI. Les composants s’utilisent et s’adaptent parfaitement aux 2 OS (iPhone et visionOS), ce qui représente un gain de temps considérable pour les développeurs déjà aguerris de l’outil. Dans ce cas là, par exemple, des écrans de catalogue ou de panier qui ont ce rendu sur iOS…

… vont s’adapter comme ça sur visionOS :

Attention, globalement, ce mode de compatibilité ne permet pas d’utiliser toutes les capacités immersives du Vision Pro, il garantit juste une transition rapide pour rendre l’application accessible, comme c’est le cas lorsqu’on adapte une application smartphone sur tablette. 

Adapter son application pour exploiter pleinement les fonctionnalités immersives du Vision Pro

Pour pouvoir capitaliser sur toutes les possibilités spatiales du casque, il sera nécessaire de recréer une nouvelle version native de l’application spécifiquement dédiée au Vision Pro. L’approche est évidemment plus ambitieuse puisqu’il s’agit d’une refonte complète de l’application qui implique entre autres : d’ajouter visionOS comme plateforme cible dans Xcode pour bénéficier d’un rendu natif, d’utiliser SwiftUI pour visionOS (qui est optimisé pour la 3D et les interactions spatiales), d’exploiter les Volumetric Windows1 et les Immersive Spaces2 pour concevoir une interface immersive au lieu d’une simple fenêtre flottante 2D et enfin, d’adapter les interactions utilisateur et les gestes spécifiques à visionOS. 
Pas insurmontable car faisable dans l’environnement habituel Apple mais, contrairement à une simple compatibilité, cette refonte va demander un réajustement profond du code et une nouvelle architecture pour séparer la logique métier de l’interface utilisateur. Pour plus de détails, retrouvez ici notre guide pratique complet pour la conception et le développement d’applications pour le Vision Pro.

“Après avoir testé toutes les possibilités, nous vous recommandons de créer votre application visionOS en version native mais avec un code partagé. Le but est de structurer le projet en séparant la logique métier de l’interface graphique pour éviter de dupliquer l’ensemble du code. Vous allez donc créer une nouvelle application visionOS, plutôt que d’adapter directement l’application iOS existante, puis partager un maximum de code entre la version iOS/iPadOS et la version visionOS, en externalisant la logique métier (API, gestion des données, services), les modèles de données et certaines parties de l’UI qui peuvent être utilisées en 2D comme en 3D.”

Julien Pipard, Lead Dev iOS & Flutter 

Bonus : qu’en est-il pour les applications crossplateformes ?

Pas de jaloux, nos développeurs mobiles crossplateformes ont aussi eu le droit à leur test du Vision Pro, en tentant le déploiement d’applications dans deux de nos technologies de prédilection chez Useradgents : Flutter et React Native. Pas de chance pour eux, rien ne s’est passé comme prévu… Pourtant, l’histoire commençait bien ! Selon la documentation existante et les nombreuses vidéos tutos disponibles, la compatibilité est totale et le déploiement ultra simple, mais problème : tous les tests ont été effectués sur simulateur et pas avec un appareil réel. 
En reproduisant l’expérience pour une application sandbox classique Flutter, nos développeurs ont effectivement constaté que l'exécution sur simulateur fonctionnait correctement, la compilation a été réussie sans erreur, mais au moment de l’exécution sur l’Apple Vision Pro, ils ont constaté un échec au lancement comprenant des erreurs liée au GPU et à UIKit qui indiquent que le moteur Impeller utilisé par Flutter n’est pas encore compatible. Cet échec pourrait être lié à des dépendances pas encore optimisées pour l’outil, notamment au niveau du rendu graphique. Une mise à jour de Flutter avec un support officiel de visionOS semble donc nécessaire pour garantir un déploiement fonctionnel…

Côté React Native, même constat. Le dépôt GitHub promet une compatibilité complète avec visionOS et la documentation officielle propose une vidéo démontrant la compatibilité du framework mais cette validation n’a été effectuée, là encore, que sur simulateur. Lors du build de notre application React Native, une erreur de non-compatibilité du code React généré avec visionOS a été rencontrée. Cette incompatibilité pourrait être liée à l’utilisation de Xcode 16.2, qui est potentiellement trop récent par rapport à la dernière release du projet v0.78.0. Il est important de souligner que “React Native pour Apple Vision Pro” est un fork3 maintenu par React Native Core qui a nécessité la migration de bibliothèques tierces et l’ajout de conditionnels de compilation pour gérer certaines spécificités de visionOS, comme l’absence de barre de statut. À ce stade, cette librairie n’est pas officielle, elle est donc gérée par la communauté. Elle respecte, ceci dit, les mises à jour de React Native Core dès qu’elles sont mises à disposition.

En revanche, l’exécution du code d’exemple en mode visionOS sur iPhone fonctionne correctement, mais l’application s’affiche au format iPhone, évidemment.

“Les technologies crossplateformes ne nous semblent pas encore suffisamment matures pour le Vision Pro… Mais est-ce vraiment un problème ? Le Vision Pro est un produit Apple, taillé pour des expériences Apple, il n’est donc pas illogique qu’il fasse la part belle aux technologies natives Apple. C’est ce qu’on attend principalement de lui.”

Prigent Roudaut, Head of Mobile

Test #2 : développement d’une application 100% immersive avec un moteur de rendu 3D

Les équipes Useradgents peuvent en attester, avec le Vision Pro sur les yeux, certaines expériences de divertissement deviennent spectaculaires. Pour vivre un match de foot en live, pour s’immerger intégralement au cœur d’un jeu… Le device fait passer l'entertainment dans une nouvelle dimension : celle de la 3D (et de la réalité mixte). Mais façonner ces nouvelles expériences en mode “immersion totale” (ou presque) implique un travail conséquent et un spectre de compétences plus important. A l’image des jeux vidéo, le recours à des moteurs de rendu 3D est indispensable pour obtenir une application visionOS de haute volée. Apple offre plusieurs possibilités : se servir de sa plateforme maison, Reality Composer Pro, ou opter pour un moteur de rendu tiers multiplateforme comme Unity ou Unreal Engine. Pour la démonstration, nos développeurs se sont frottés aux deux approches et vous livrent leurs impressions.

Zoom sur Reality Composer Pro

Intégré directement à Xcode, Reality Composer Pro se définit comme un éditeur visuel capable de produire des scènes interactives sans avoir à écrire une ligne de code (du moins, dans ses usages de base). Il permet de créer des objets 3D, de leur ajouter des comportements, des animations, des collisions physiques et de structurer une séquence d’actions dans le temps. Concrètement, il s’agit d’un espace de travail en 3D où l’on peut importer des assets (fichiers USDZ, fichiers 3D, textures…), les organiser dans une scène, créer des interactions, ajouter des comportements via une timeline visuelle et tester directement l’interaction sur simulateur ou sur un device Apple. 

L’outil semble conçu pour les créateurs d’expériences spatiales sur Vision Pro, mais peut aussi convenir à des usages plus “classiques” sur iPhone ou iPad, en réalité augmentée. Reality Composer Pro a été imaginé pour être utilisé par tous les développeurs, même ceux qui n’ont aucune expérience préalable en 3D car comme dit toujours Apple “Everyone can do it!”. 

Cette simplicité d’usage cache toutefois une complexité croissante dès que l’on explore les fonctionnalités avancées (qui sont souvent mal documentées et imposent le recours à des vidéos ou des formations) et quelques freins techniques. Par exemple : 

  • Les délais des builds qui peuvent atteindre 10 minutes à cause de la complexité de traitements des assets 3D, notamment pour des projets utilisant des textures haute résolution, des effets physiques et des particules. Les limites sont très rapidement atteintes en comparaison avec des moteurs de rendu plus matures. 
  • Un impact sur la stabilité des projets d’AR pour iOS, macOS ou iPadOS créés sous l’ancien Reality Composer (devenu Pro lors du lancement de visionOS) qui semble avoir été totalement supprimé de Xcode 15. Certains développeurs ont été forcés de rétrograder sur Xcode 14 pour maintenir leurs projets existants.

“Reality Composer Pro représente une sorte d’intermédiaire entre les outils d’AR simplistes et les moteurs 3D avancés. Son adoption demande quand même un investissement conséquent en matériel (Apple Silicon minimum et le casque pour les tests), une équipe aux compétences diversifiées et un parcours de formation structuré. La complexité croissante au-delà des fonctionnalités de base nécessite également une planification réaliste des délais de développement, particulièrement pour les premières expériences… L’enjeu va être d’évaluer si la spécialisation dans l'écosystème visionOS représente une opportunité stratégique suffisante ou si des solutions compatibles avec d’autres plateformes, comme Unity ou Unreal Engine, sont préférables malgré leur courbe d'apprentissage plus prononcée.”

Cyrille Legrand, Lead Développeur iOS

Zoom sur les moteurs de rendu 3D multiplateformes : Unity, Unreal Engine…

L’environnement visionOS est compatible avec les plateformes de développement 3D bien connues dans l’univers du jeu vidéo Unity et Unreal Engine, via des packages4 qui permettent d’exploiter la logique initiale du jeu / de l’application directement dans RealityKit, le moteur natif d’Apple. Cette approche offre l’avantage de réutiliser des projets existants sur d’autres plateformes en conservant une base de code commune, ce qui permet de réduire les coûts et les temps de développement.

Conçues initialement pour le développement de jeux vidéo, les plateformes comme Unity ou Unreal Engine offrent une vraie richesse graphique, des effets visuels pointus et des possibilités d’interactions et d’animations plus avancées qui impliquent toutefois des optimisations manuelles conséquentes et pas mal d’ajustements des modèles 3D. Les développeurs doivent en effet paramétrer chaque élément (nombre, texture, animations…) de l’expérience car le Vision Pro impose un affichage à 90 FPS. Si trop d’objets sont affichés en même temps ou si les effets graphiques sont trop lourds, le casque peut réduire automatiquement la fluidité pour compenser, ce qui nuit à l’expérience utilisateur. L’éclairage et les ombres doivent également être configurés au cas par cas. 

Par ailleurs, les moteurs tiers ne prennent pas en charge certaines gestures par défaut du Vision Pro, notamment le suivi du regard. Les développeurs doivent créer des interactions alternatives, telles que des gestes manuels ou l’utilisation du mode Bounded (avec des gestes simples comme le pincement) en l’absence d’information continue sur la position du regard, ce qui peut nuire à la fluidité de la navigation. 

“La complexité de prise en main est la principale limite des plateformes comme Unity ou Unreal Engine. Elles sont plus adaptées pour les développeurs de studios de jeux vidéo qui possèdent déjà les compétences nécessaires en 3D et qui ont des besoins multiplateformes.”

Julien Pipard, Lead Développeur iOS et Flutter

Globalement, et contrairement à ce que la documentation et les tests publiés sur le web indiquaient, développer une application pour le Vision Pro n’est pas si évident car certains environnements de développement restent assez peu matures. L’exploration des experts Useradgents a notamment mis en lumière plusieurs difficultés pour le déploiement d’apps crossplateformes et démontré l’importance de se mettre à niveau sur l’utilisation des moteurs de rendus 3D.

“La 3D demande des compétences complexes et précises, pour les développeurs mais aussi pour les designers. Il est donc important d’évaluer son intérêt business versus les besoins et coûts de formation avant de se lancer dans la création d’applications immersives.”

Julien Pipard, Lead Développeur iOS et Flutter

Notre prise en main plus poussée de visionOS nous a toutefois convaincu sur l’opportunité que représente la création d’interfaces immersives et la mobilisation des réalités mixtes. Bien qu’Apple semble avoir arrêté à date la production du Vision Pro, il reste l’une des meilleures clés d’entrée pour qui sait, un jour, pouvoir élargir le spectre et imaginer des expériences multiplateformes, compatibles avec d’autres devices comme les lunettes Orion de Meta ou le futur casque de Samsung (pour l’instant classé sous le nom “projet Moohan”). 

Envie de créer une application pour le Vision Pro ? Contactez nos experts !

1 Les Volumetric Windows sont des extensions des fenêtres 2D classiques qui permettent d’afficher des éléments en 3D dans un espace libre. Ils correspondent en fait à des scènes intégrant de la profondeur grâce à la puissance d’un moteur de rendu 3D. Ils peuvent être déplacés par l’utilisateur et visualisés sous tous les angles.

2 Les Immersive Spaces sont les composants les plus complets : ils rassemblent les fenêtres, les volumes et l’utilisateur lui-même.

3 Version alternative d’un outil créée à partir du code source existant.

4 Unity PolySpatial ou OpenXR visionOS plug-in par exemple.

Sur le même sujet

Étude : Pourquoi est-il urgent de refondre votre site en 2026 ?
10/06/2026

Étude : Pourquoi est-il urgent de refondre votre site en 2026 ?

Je découvre arrow_forward
iOS 26 : nos recommandations pour une app Best in Glass
17/09/2025

iOS 26 : nos recommandations pour une app Best in Glass

Je découvre arrow_forward
App Intents d’Apple : opportunités et retour d’expérience avec myFFF
24/06/2025

App Intents d’Apple : opportunités et retour d’expérience avec myFFF

Je découvre arrow_forward
Google I/O, WWDC : ce qu’il fallait retenir des annonces 2025 de Google et Apple
12/06/2025

Google I/O, WWDC : ce qu’il fallait retenir des annonces 2025 de Google et Apple

Je découvre arrow_forward
Apple Workshops Paris 2025 : ce qu’en retiennent les développeurs USERADGENTS
27/01/2025

Apple Workshops Paris 2025 : ce qu’en retiennent les développeurs USERADGENTS

Je découvre arrow_forward
Skip, la revanche des développeurs iOS sur le cross-plateforme ?
18/09/2024

Skip, la revanche des développeurs iOS sur le cross-plateforme ?

Je découvre arrow_forward
Les widgets mobiles
09/07/2024

Les widgets mobiles

Je découvre arrow_forward
WWDC 2024 : que pensent les développeurs USERADGENTS des annonces ?
27/06/2024

WWDC 2024 : que pensent les développeurs USERADGENTS des annonces ?

Je découvre arrow_forward
Au lendemain de la keynote d’Apple pendant la célèbre WWDC édition 2024, qu’est-ce qu’on retient ?
12/06/2024

Au lendemain de la keynote d’Apple pendant la célèbre WWDC édition 2024, qu’est-ce qu’on retient ?

Je découvre arrow_forward
Comment concevoir et développer une application pour l'Apple Vision Pro ?
11/01/2024

Comment concevoir et développer une application pour l'Apple Vision Pro ?

Je découvre arrow_forward
La notation des apps
16/10/2023

La notation des apps

Je découvre arrow_forward
expand_less