**Platform-specific guides**

### Android (Kotlin/Java)

- [Instant placement developer guide for Android (Java)](https://developers.google.com/ar/develop/java/instant-placement/developer-guide)

### Android NDK (C)

- [Instant placement developer guide for Android NDK](https://developers.google.com/ar/develop/c/instant-placement/developer-guide)

### Unity (AR Foundation)

- [Instant placemnt developer guide for Unity (AR Foundation)](https://developers.google.com/ar/develop/unity-arf/instant-placement/developer-guide)

### Unreal Engine

- [ARCore SDK for Unreal Engine (official documentation)](https://docs.unrealengine.com/5.0/en-US/developing-for-arcore-in-unreal-engine/)

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.

In the following example, an object is initially placed using an estimated pose,
which is indicated by its grayscale color. Once an accurate pose can be determined,
the object becomes colored, indicating that it is using an accurate pose. The
sudden change in pose also affects the apparent "size" or perceived scale of the
object.

![Instant Placement](https://developers.google.com/static/ar/images/instant-placement/instant-placement.png "Instant Placement")

In Figure 1, Instant Placement is disabled and surface geometry is undefined.
Objects placed on the floor to the right of the pool table (four small blue dots)
appear knocked-over, their poses are undefined.

In Figure 2, Instant Placement is enabled from the menu under the gear icon.

In Figure 3, with Instant Placement enabled, a new object is placed in the scene.
It appears in grayscale, instead of colored, to denote that it has not been
corrected for an accurate pose yet.

In Figure 4, the new object becomes colored, and its pose is accurate, when the
surface geometry (described by the *trackable* grid lines) is detected.