Use the CloudAnchors sample app to build your first AR experience that Android and iOS users can share.
Before you build the sample app, make sure you've used the Quickstart for ARCore Extensions for Android to complete the following steps.
Import version 1.0.4 of the Multiplayer HLAPI package. (Choose Window > Package Manager, and install Multiplayer HLAPI package version 1.0.4.)
Familiarizing yourself with the following concepts isn't required, but it will help you better understand how the Cloud Anchors sample app works.
Set up your development environment for Cloud Anchors
Setting up your development environment for working with the CloudAnchors sample app.
About Cloud Anchors ID sharing
Apps with Cloud Anchors capabilities need a way to share Cloud Anchor IDs between devices.
The CloudAnchors sample app uses Unity's Networking feature for sharing Cloud Anchors IDs between devices on the same network. You can use a different solution in your own apps.
Add an API Key
To use the ARCore Cloud Anchor API in your app, you'll need an API Key.
Obtain an API Key. See Setting up API keys in the Google Cloud Platform Console Help Center if you are new to working with API keys.
Enable the ARCore Cloud Anchor API for your Google Cloud Platform project.
Add your API key to your project:
- In Unity, go to Edit > Project Settings > XR > ARCore Extensions.
- Add your API key to the Cloud Anchor API Keys field.
Install and open the sample
The CloudAnchors sample is included with the ARCore Extensions package.
In Unity, open the Package Manager (choosw Window > Package Manager).
Select the ARCore Extensions package.
In the description, click Import into Project for the Cloud Anchor sample, and wait for the files to be added to your project.
In the Unity project window, open the scene located at
Assets/Samples/ARCore Extensions/<version>/Cloud Anchor Sample/Scenes/CloudAnchors.
Configure project settings
Before building the sample, follow these steps to configure your project settings:
Open the Build Settings window (File > Build Settings).
In the Platform list, select Android, and click Switch Platform.
To configure Android-specific Player settings, click Player Settings.
Under the Player heading, specify your Name or Company Name, and set a Product Name.
Under the Other Settings heading:
In the Graphics APIs section, select and remove Vulkan.
Uncheck Multithreaded Rendering.
Select an appropriate Package Name (for example,
Set the Minimum API Level to Android 7.0 ‘Nougat' (API Level 24).
Set the Target API Level to Automatic (highest installed).
Close the Project Settings window.
Try out the sample
Build and run the CloudAnchors sample app to try out hosting and resolving Cloud Anchors.
Make sure that developer options and debugging are enabled on your phone.
Connect your phone to your development machine via USB.
In Unity, choose File > Build and Run.
The sample app builds and launches on your phone.
Create a room with the host device. The app will display a room code which can be used to join this room from another device.
Move your phone around until ARCore starts detecting and visualizing planes.
Tap a plane to create an anchor object on it. A host request is sent to the ARCore Cloud Anchor service. The host request includes data representing the anchor's position relative to the visual features near it.
After the Cloud Anchor is successfully hosted, subsequent taps will create Star objects, which will be synchronized across devices using Unity Multiplayer Services.
Launch the example from a new device, and join the room you created previously. A request is sent to the ARCore Cloud Anchor service to resolve the pose of the cloud anchor. When this request returns successfully, the sample app renders the anchor using the pose.
Both devices will now be able to tap the screen to place Stars.