Google is committed to advancing racial equity for Black communities. See how.

Instant Placement overview for AR Foundation

The Instant Placement API allows the user to place AR objects instantly, without having to first move their device to allow ARCore to establish full tracking and detect surface geometry.

After the user has placed an object, its pose is refined in real time as the user moves through the environment. Once ARCore is able to determine the correct pose in the region where the AR object has been placed, it updates the object's pose and tracking method.

The following clip shows a virtual Android figure on a real-world table. The figure is initially placed using an estimated pose, which is indicated by its white color. Once an accurate pose can be determined, the figure turns orange and uses the new, accurate pose. The sudden change in pose affects the apparent "size" or perceived scale of the object.

Although ARCore can perform Instant Placement hit tests against surfaces of any orientation, hit results will always return a pose with +Y up, against the direction of gravity. On horizontal surfaces, hit tests return accurate positions much faster.

Concept names

Names of certain concepts and methods may differ between AR Foundation and the ARCore SDK for Unity. These are listed in the table below for easy reference.

AR Foundation ARCore SDK for Unity
Persistent raycasts Instant Placement
ARRaycastManager.AddRaycast(Vector2, float) Frame.RaycastInstantPlacement(float, float, float, out TrackableHit)
ARRaycast TrackableHit
(No equivalence) InstantPlacementPoint
ARRaycast.trackingState InstantPlacementPointTrackingMethod

Next steps

Start using the Instant Placement API in your own apps. To learn more, see: