Tango Developer Overview

Tango is a platform that uses computer vision to give devices the ability to understand their position relative to the world around them. A Tango-enabled device is an Android device with a wide-angle camera, a depth sensing camera, accurate sensor timestamping, and a software stack that enables application developers to use motion tracking, area learning and depth sensing. Thousands of developers have purchased these devices to create experiences to explore physical space around the user, including precise navigation without GPS, windows into virtual 3D worlds, measurement and scanning of spaces, and games that know where they are in the room and what’s around them.

You will need a Tango-enabled device, like the Lenovo Phab 2 Pro, in order to run and test any apps you develop. In the meantime, you can familiarize yourself with our documentation and APIs to plan how you might create your Tango apps.

There are several paths you can take to get started with Tango:

Concepts Crash Course

If you're not familiar with the underlying technologies behind Tango, such as computer vision or SLAM (Simultaneous Localization and Mapping), read through our concepts pages to learn about the capabilities of Tango.

First, get a brief introduction to the three main Tango core technologies on our Concepts Overview page.

After that, learn more about the implementation details behind Motion Tracking, Area Learning, and Depth Perception.

There are a few other topics in our Concepts section that will be useful to learn about. One of the main things a Tango device can do is get Pose data (the device's orientation and location) at any given time. Understanding Frames of Reference is important so that you know what the device's pose is measured against, such as the starting location of the device or a previously learned area. Coordinate System Conventions gives you an idea of which way those X, Y, and Z coordinates are actually facing with relation to your device.

Understanding how to calculate fields of view for the camera's Intrinsics and Extrinsics is useful if you are doing Augmented Reality or have some other specific need to align the camera and your virtual world.

Get Started with the APIs

Tango offers APIs in C and Java, and an SDK for Unity. Take a look at our Choosing an API page to help you determine which is right for you.

You can download the APIs and SDKs on our Downloads page.

You can find Getting Started guides and code samples in our API Guides section:

Publishing Your Apps

Publishing apps for Tango in the Google Play Store is similar to the usual Android publishing process, but there are a few special things you'll need to do. To learn more, see our Publishing Tips.

Privacy Permission Dialogs: Tango devices work by using visual cues from the device's cameras to track its location and learn areas. To protect users' privacy, you must ask users for permission prior to using the camera for motion tracking or accessing/saving area description files.

Best Practices and App Downloads

Check out our recommendations for User Experience best practices.

A good way to get familiar with the various types of Tango apps you can create is to download and play with some of our developer experiments and tools.

Questions? Comments?

Our Support page gives you several options for communicating with the Tango team and other developers in the Tango community. Also, note the resources available from the navigation bar that appears at the bottom of this page and every other page on the Tango Developers website.