UI messages
EasyAR Sense Unity Plugin a trois types de messages lors de l'exécution.
- Exceptions d'exécution, incluant Sense Error, Session Error, Error, Warning
- Session Dump
- Exceptions spéciales de développement EasyAR Mega
Vous pouvez ajuster la méthode de sortie des deux premiers types de messages selon vos besoins. Cela peut être configuré dans l'éditeur via le composant DiagnosticsController sur la session, ou en utilisant l'interface DiagnosticsController.MessageOutput dans un script.

Astuce
Dans la version 4000, si une scène est créée avec une ancienne version du plugin, DiagnosticsController est automatiquement ajouté à la session lors de l'ouverture de la scène. Dans certaines versions d'Unity, cela pourrait ne pas être automatique. Dans ces cas, DiagnosticsController sera créé automatiquement à l'exécution avec des valeurs par défaut.
Exceptions d'exécution
Lors de l'exécution du plugin, des problèmes internes peuvent être détectés et signalés sous forme de messages. Ces messages peuvent être des erreurs critiques empêchant la poursuite de l'utilisation, des déclenchements intentionnels, ou des incompatibilités matérielles, etc. Classés par niveau de gravité décroissant :
- SenseError : Erreur EasyAR Sense, généralement liée à la licence EasyAR Sense.
- SessionError : Erreur ARSession, généralement liée à des fonctionnalités non supportées par l'appareil ou à une configuration incorrecte.
- Error : Autres messages d'erreur
- Warning : Messages d'avertissement
En raison des particularités du développement Unity, ces messages sont affichés par défaut dans l'UI pour faciliter le développement.
Vous pouvez contrôler leur affichage dans l'éditeur ou via des scripts. Les modes de sortie disponibles sont :
- UIAndLog : Sortie vers l'UI et les logs. Sur les casques VR, affichage à 5 mètres devant l'utilisateur.
- Log : Sortie vers les logs système.
Astuce
- Il est recommandé d'utiliser la configuration par défaut UIAndLog pendant les phases de développement et de test.
- Il est recommandé de passer à Log pour la publication, bien que UIAndLog puisse être conservé. Notez que ces messages UI sont généralement peu compréhensibles pour les utilisateurs finaux.
- Il est conseillé de vérifier la disponibilité de la session et le support matériel avant l'exécution et d'afficher des messages d'alerte appropriés pour les appareils non supportés.
Sense error
Sense Error est une erreur spécifique. Lorsqu'elle survient, les fonctionnalités EasyAR ne peuvent plus être utilisées. Causes courantes :
- Licence non configurée correctement ou échec de validation. Cette erreur peut être résolue en réinitialisant avec une licence valide.
- Utilisation de produits d'essai (licence personnelle, licence XR d'essai ou services Mega d'essai, etc.) sur certains appareils (incluant tous ceux utilisant des caméras personnalisées comme AR Foundation, AR Engine, ou divers casques VR) au-delà de la période d'essai limitée. Cette erreur est irrécupérable.
Session error
Session Error indique que l'ARSession actuel ne peut plus fonctionner. Modifier la configuration et relancer l'ARSession peut résoudre le problème. Ces erreurs sont généralement causées par :
- Configuration incorrecte
- Interruption de l'assemblage due à des exceptions lors du démarrage
- Appareil non supporté par la configuration actuelle de l'ARSession
- Perte de composants ARSession pendant l'exécution
Cas typiques :
- Erreur d'assemblage de session : appareil non supporté ou Frame Source manquant dans l'ARSession.
- Erreur de démarrage de session : informations de service cloud incorrectes (services Mega, reconnaissance cloud, SpatialMap) ou non renseignées.
- Erreur d'exécution : destruction externe des composants ARSession, RendererFeature non configuré dans un environnement URP, etc.
En général, les erreurs de configuration et les interruptions d'assemblage doivent être évitées pendant le développement. Les problèmes de support matériel concernent principalement les fonctionnalités nécessitant un suivi de mouvement. Reportez-vous à Suivi de mouvement et fonctionnalités EasyAR pour identifier les fonctionnalités sensibles et choisir des appareils adaptés lors du débogage.
Session dump
Les messages SessionDump affichent l'état d'exécution de l'ARSession collecté par le plugin, incluant des états clés de divers composants. Ces informations sont précieuses pour comprendre le fonctionnement d'EasyAR et diagnostiquer des problèmes.
Contrôlez leur affichage dans l'éditeur ou via des scripts. Modes de sortie disponibles :
- UI : Affichage dans l'UI avec mise à jour à chaque frame. Sur les casques VR, affichage à 5 mètres devant l'utilisateur.
- Log : Sortie vers les logs système. Impacte les performances (mise à jour par frame), à utiliser uniquement en développement/test.
- None : Aucune sortie.
Astuce
- Utilisez la configuration par défaut UI en développement/test. Ces informations sont essentielles pour communiquer avec le support EasyAR.
- Passez à None pour la publication finale, mais conservez un moyen d'activer UI (ex: interrupteur caché) ou utilisez un autre système de collecte de données. Lors de signalements de problèmes, EasyAR demandera ces informations pour analyser l'état de l'application.
- En cas de problème après publication, une analyse initiale côté application est nécessaire. Collecter des logs via des SDK tiers est recommandé. Si cette option n'est pas viable, l'interrupteur pour UI permet aux utilisateurs de rapporter les messages visibles.
Exceptions spéciales de développement EasyAR Mega
Lors du développement avec Mega, des messages d'avertissement spécifiques apparaissent sous certaines conditions de configuration. Ils s'affichent dans l'UI et ne peuvent pas être désactivés directement par les développeurs.
Concentrez-vous sur le contenu du message, qui explique la cause et la méthode de configuration. Adaptez vos choix de configuration en fonction de votre flux de développement.
Ces messages sont intentionnellement affichés car, dans des conditions spécifiques, ils aident au développement mais indiquent des résultats d'exécution invalides. Attention à ne pas publier avec ces messages actifs.