Azure Spatial Anchors is a managed cloud service and developer platform that enables multi-user, spatially aware mixed reality experiences across HoloLens, iOS, and Android devices.
For more information, see Azure Spatial Anchors overview.
Azure Spatial Anchors Product FAQs
Which devices does Azure Spatial Anchors support?
Azure Spatial Anchors enables developers to build apps on HoloLens, on iOS devices with ARKit support, and on Android devices with ARCore support; for iOS and Android this includes both phones and tablets.
Do I have to be connected to the cloud to use Azure Spatial Anchors?
Azure Spatial Anchors currently requires a network connection to the internet. We welcome your comments on our feedback site.
What are the connectivity requirements for Azure Spatial Anchors?
Azure Spatial Anchors works with Wi-Fi and mobile broadband connections.
How accurately can Azure Spatial Anchors locate anchors?
Many factors affect the accuracy of locating anchors--lighting conditions, the objects in the environment, and even the surface on which the anchor is placed. To determine if the accuracy will meet your needs, try the anchors in environments representative of where you plan to use them. If you encounter environments where accuracy isn't meeting your needs, see Logging and diagnostics in Azure Spatial Anchors.
How long does it take to create and locate anchors?
The time required to create and locate anchors is dependent on many factors--network connection, the device's processing and load, and the specific environment. We have customers building applications in many industries including manufacturing, retail, and gaming indicating that the service enables a great user experience for their scenarios.
How does Azure Spatial Anchors store data?
All data is stored encrypted with a Microsoft managed data encryption key and all data is stored regionally for each of the resources.
Where does Azure Spatial Anchors store data?
Azure Spatial Anchors stores and process customer data. By default, customer data is replicated to other paired regions for resiliency, but Microsoft doesn't replicate or move data outside the geography. This data is stored in the region where the Azure Spatial Anchors account is configured. For region with data residency requirements, customer data is always kept within the same region.
What information about an environment is transmitted and stored on the service when using Azure Spatial Anchors? Are pictures of the environment transmitted and stored?
When creating or locating anchors, pictures of the environment are processed on the device into a derived format. This derived format is transmitted to and stored on the service.
To provide transparency, below is an image of an environment and the derived sparse point cloud. The point cloud shows the geometric representation of the environment that's transmitted and stored on the service. For each point in the sparse point cloud, we transmit and store a hash of the visual characteristics of that point. The hash is derived from, but doesn't contain, any pixel data.
Azure Spatial Anchors adheres to the Azure Service Agreement Terms, and the Microsoft Privacy Statement.
Figure 1: An environment and its derived sparse point cloud
Is there a way I can send diagnostics information to Microsoft?
Yes. Azure Spatial Anchors has a diagnostics mode that developers can choose to opt into through the Azure Spatial Anchors API. This is useful, for example, if you encounter an environment where you're unable to create and locate anchors predictably. We may ask if you can submit a diagnostics report containing information that helps us debug. For more information see Logging and diagnostics in Azure Spatial Anchors.
Privacy FAQ (for developers)
When my application places a Spatial Anchor somewhere do all apps have access to it?
Anchors are isolated by Azure account. Only apps to which you grant access to your account will be able to access anchors within the account.
What terms and conditions apply when using ASA in my app or SDK?
The following terms apply as well as any terms embedded in that license.
I want to release an app or SDK that includes ASA
Do I need to agree to any additional terms?
No. By using ASA you agree to the above linked ToU and the embedded terms. No additional terms are required.
Does Microsoft require the disclosure of ASA in my application or SDK to my users?
Microsoft doesn't require disclosure unless it's required by your local law to meet privacy or other requirements. You should work with your own legal advisers to determine whether disclosing the use of ASA or Microsoft’s privacy practices is required by your local law.
Do my users need to agree to any specific terms?
No. The contractual relationship is between Microsoft and the developer of the app or the SDK. You should work with your own legal advisers to determine whether consent to the use of ASA or Microsoft’s privacy practices is required by your local law.
I want to notify my users that my app/sdk is using ASA, what is the recommended interface to notify my users?
“This app is using Microsoft’s Azure Spatial Anchors. For more information on Azure Spatial Anchors go to Azure Spatial Anchors | Microsoft Azure”
Availability and Pricing FAQs
Do you provide an SLA?
As is standard for Azure services, we target an availability greater than 99.9%.
Can I publish my apps using Azure Spatial Anchors to app stores? Can I use Azure Spatial Anchors for mission-critical production scenarios?
Yes, Azure Spatial Anchors is generally available and has a standard Azure services SLA. We invite you to develop apps for your production deployments, and share your feedback about the product with us.
Do you have any throttling limits in place?
Yes, we have throttling limits. We don’t expect you’ll hit them for typical application development and testing. For production deployments, we're ready to support our customers’ high-scale requirements. Contact us to discuss.
In what regions is Azure Spatial Anchors available?
Azure Spatial Anchors is currently available in West US 2, East US, East US 2, South Central US, West Europe, North Europe, UK South, Australia East, Southeast Asia, and Korea Central. Additional regions will be available in the future.
What this means is that both compute and storage powering this service are in these regions. That said, there are no restrictions on where your clients are located.
Do you charge for Azure Spatial Anchors?
You can find details about pricing on our pricing page.
How does Azure Spatial Anchors work?
Azure Spatial Anchors depends on mixed reality / augmented reality trackers. These trackers perceive the environment with cameras and track the device in 6-degrees-of-freedom (6DoF) as it moves through the space.
Given a 6DoF tracker as a building block, Azure Spatial Anchors allows you to designate certain points of interest in your real environment as "anchor" points. You might, for example, use an anchor to render content at a specific place in the real-world.
When you create an anchor, the client SDK captures environment information around that point and transmits it to the service. If another device looks for the anchor in that same space, similar data transmits to the service. That data is matched against the environment data previously stored. The position of the anchor relative to the device is then sent back for use in the application.
How does Azure Spatial Anchors integrate with ARKit and ARCore on iOS and Android?
Azure Spatial Anchors leverages the native tracking capabilities of ARKit and ARCore. In addition, our SDKs for iOS and Android offer capabilities such as persisting anchors in a managed cloud service, and allowing your apps to locate those anchors again by connecting to the service.
How does Azure Spatial Anchors integrate with HoloLens?
Azure Spatial Anchors leverages the native tracking capabilities of HoloLens. We provide an Azure Spatial Anchors SDK for building apps on HoloLens. The SDK integrates with the native HoloLens capabilities and provides additional capabilities. These capabilities include allowing app developers to persist anchors in a managed cloud service and allowing your apps to locate those anchors again by connecting to the service.
Which platforms and languages does Azure Spatial Anchors support?
Developers can build apps with Azure Spatial Anchors using familiar tools and frameworks for their device:
- Unity across HoloLens, iOS, and Android
- Xamarin on iOS and Android
- Swift or Objective-C on iOS
- Java or the Android NDK on Android
- C++/WinRT on HoloLens
Get started with development here.
Does it work with Unreal?
Support for Unreal will be considered in the future.
What ports and protocols does Azure Spatial Anchors use?
Azure Spatial Anchors communicates over TCP port 443 using an encrypted protocol. For authentication, it uses Azure Active Directory, which communicates using HTTPS over port 443.