Many users are new to Tango, and may try to use your application in ways and places that Tango isn't designed for. To help you detect these issues, we've created the Tango Support Library's UX package. This page describes the UX package, and shares some additional best practices to improve your user's experience.
Tango is frequently updated, and older Tango Core versions may not have a feature your app depends on. When starting up, check the version of Tango Core or any other dependencies you have. If you're using the Unity SDK and enable the UX package, this will be done for you.
Wait for valid data
After you connect to Tango, it may take a few moments for data to appear. A
common mistake is to render your application before Tango is ready, which makes
your UI look unresponsive or broken. Instead, show a loading screen until the
Tango poses become
TANGO_POSE_VALID. If you're using the Unity SDK and enable
the UX package, this will be done for you.
When you restart an application or activity, make no assumptions about where the user is starting from. Generally, you should avoid rendering or transforming when a pose is 'TANGO_POSE_INVALID.'
Tango may not function well in some circumstances, such as dark rooms or overly rapid motion. The Support Library's UX package interprets the Tango sensor data to report these issues in a more understandable way.
You can listen for UX exception events and notify your user when you receive one. This could be a simple toast message or even integrated as part of the core experience. For example, if there are too few depth points, you might prevent the user from doing actions that require depth.
In Unity, you can enable pop-up notifications for common issues.
Using the Tango UX package
See our language-specific tutorials and API reference: