Meta ouvre sa couche OpenXR aux agents, mais pas en production

Meta XR Operator expose les données de session Unity à un agent externe. Une méthode expérimentale pour automatiser les tests sur casque Quest.

Une couche logicielle intercalée entre une application XR et son moteur d'exécution, voilà ce que propose Meta XR Operator, composant expérimental du Meta XR Core SDK. Elle intercepte les appels qu'une application Unity adresse déjà au runtime OpenXR et expose ce qu'elle y trouve, état de la session, données de suivi, contrôle des entrées, à n'importe quel agent compatible MCP. Aucune modification du code de l'application n'est requise, la greffe se faisant à un niveau plus bas.

L'agent gagne alors deux capacités qui n'allaient pas ensemble jusqu'ici, percevoir et agir. Côté perception, il interroge l'état de la session et les données produites image par image, parcourt le graphe de scène Unity, inspecte les interfaces et leurs éléments cliquables, capture des vues composites mêlant environnement réel et contenu virtuel, et récupère la liste des entités spatiales reconnues, murs, sols, tables et autres meubles, avec leur position et leur étiquette sémantique. Côté action, il lit et pilote la position de la tête et des manettes, avec des déplacements interpolés, et actionne boutons, gâchettes, poignées et joysticks.

Le montage repose sur un serveur MCP local lancé dans le processus de l'application, relié à l'agent par un proxy. Le même enchaînement vaut dans l'éditeur Unity, dans le simulateur maison ou sur un casque Quest, ce dernier cas demandant une redirection de port pour que la machine hôte atteigne le serveur embarqué. Windows bénéficie du support complet, macOS sur puce Apple se limitant au simulateur. Des outils sur mesure écrits en C# peuvent s'ajouter à ceux fournis.

Les usages mis en avant relèvent du développement et du test, reproduire un bug en décrivant la manœuvre en langage courant, dérouler des campagnes de test sans écrire chaque scénario, examiner l'état d'une session pendant qu'elle tourne. Meta assortit l'ensemble d'une réserve nette : le composant est expérimental, ses noms d'outils, ses API et son comportement peuvent changer, et l'éditeur déconseille d'en dépendre dans une application publiée.