Android NDK (C)
Unity (AR Foundation)
A Cloud Anchor is a special type of anchor that can be used to persist AR experiences in the real world. With the ARCore Cloud Anchor API, or ARCore Cloud Anchor service, you can create interactive layers of digital information and anchor them to actual locations, designing experiences that can be shared over time by multiple people across many different devices. Cloud Anchors connect real world locations with digital content that anyone can access from compatible mobile devices. Both Android and iOS users can participate in the same experience and return to them again and again, even weeks or months later.
Anchors and Cloud Anchors
Cloud Anchors are anchors that are hosted on the ARCore Cloud Anchor API. This hosting enables users to share experiences in the same app. The basic guidelines for anchors also apply to Cloud Anchors.
Use cases for developing with the ARCore Cloud Anchor API
The ARCore Cloud Anchor API can help persist AR experiences in the real world and create shared experiences between users. The following are some ways you can use it in your own projects.
Persist AR experiences in the real world
Cloud Anchors enable one user to place an AR object in the physical environment and another to see the same object at the same place at a later time. For example, use Cloud Anchors to create virtual signs in front of stores, leave virtual notes on their kitchen countertops for their friends, or redecorate their bedrooms with virtual posters. In general, Cloud Anchors are best used for room-scale AR experiences.
Real-time collaborative experiences
Cloud Anchors also enable real-time collaboration between users. For example, users can play a virtual game of ping-pong on the coffee table, or paint a virtual mural together with their community.
The ARCore Cloud Anchor API works on all ARCore supported devices.
How Cloud Anchors work
ARCore connects to the ARCore Cloud Anchor API to host and resolve Cloud Anchors, thereby enabling these shared experiences. This requires a working Internet connection.
Here’s a high-level picture of how hosting and resolving works:
- The user creates a local anchor in their environment.
- The anchor is hosted — ARCore uploads that local anchor’s data to the ARCore Cloud Anchor API, and the ARCore Cloud Anchor API returns a unique ID for that anchor.
- The app distributes that unique ID to other users.
- The anchor is resolved — Users whose devices have the unique ID can recreate the same anchor using the ARCore Cloud Anchor API.
To establish and host an anchor, ARCore uses a 3D feature map of the space surrounding that anchor. To obtain this feature map, the device's rear camera must map the environment in and around the center of interest from different viewing angles and positions before the host call. The ARCore Cloud Anchor API then creates a 3D feature map of the space, and returns a unique Cloud Anchor ID to the device.
When another user in the same environment points their device’s camera at the area where the Cloud Anchor was hosted, a resolve request causes the ARCore Cloud Anchor API to periodically compare visual features from the scene against the 3D feature map that was created. ARCore uses these comparisons to pinpoint the user's position, orientation, and pose relative to the Cloud Anchor.
API deprecation policy
See ARCore Cloud Anchor API deprecation policy for details.