ARCore
ARCore is Google's augmented reality platform for Android and iOS, providing the APIs and device capabilities that enable developers to build AR experiences without dedicated depth sensing hardware. Released in February 2018, ARCore was the Android ecosystem's response to Apple's ARKit — and its key architectural decision was to work on existing phones using only cameras and IMU, rather than requiring specialised hardware like Google's own discontinued Project Tango.1
Core Capabilities
Motion tracking uses Visual-Inertial Odometry — camera feature tracking combined with accelerometer and gyroscope data — to estimate the phone's position and orientation in six degrees of freedom as the user moves. Like ARKit, ARCore builds a local feature map from the camera feed and maintains position within it, enabling virtual content anchored to the world to remain stable as the device moves.2
Environmental understanding detects horizontal and vertical surfaces from the camera feed, providing plane anchors for content placement. ARCore's plane detection uses the same visual cues as a moving observer would — texture gradients, perspective geometry, and normal estimation — refined continuously as the device observes more of the surface.
Light estimation analyses the camera image to estimate ambient illumination direction and colour, providing data that shaders can use to match virtual object lighting to real-world conditions — shadows fall in the right direction, metallic surfaces reflect the right colours.
Depth API
ARCore's Depth API (2020) produces per-frame depth maps using depth from stereo — computing depth from the slight parallax between camera frames as the device moves.5 On devices with hardware depth sensors (ToF cameras on some Android flagships), ARCore uses the hardware data directly. On devices without dedicated depth hardware, it estimates depth from motion using the same visual odometry data it uses for tracking. Depth maps enable occlusion of virtual objects by real surfaces, physics interaction, and more accurate object placement.
Cloud Anchors
Cloud Anchors (2019) allow AR experiences to be shared across multiple devices. A device scans a physical location and uploads a feature-map description to Google's cloud; another device in the same location resolves the same anchor and receives the same coordinate frame. Both users then see virtual content at the same real-world position.3
This enables multi-user shared AR experiences, persistent installations (virtual art that stays in place between sessions), and cross-device handoffs. Cloud Anchors work across Android and iOS devices simultaneously, since ARCore's iOS SDK (via SceneKit or Unity) participates in the same backend.
Geospatial API
The ARCore Geospatial API (2022) localises the device against Google's global 3D map built from Street View imagery, enabling AR that is anchored to GPS coordinates with sub-metre accuracy.4 Rather than the traditional GPS anchor (accurate to 3–5 metres), Geospatial combines GPS, device orientation, and visual localisation against the Street View model to produce geodetic anchors accurate to ~10 cm. Applications can place virtual content at real-world coordinates — on a building facade, at a street corner, above a landmark — and it remains positioned correctly from any approach direction.
This is the same technology category as Niantic's Visual Positioning Service (VPS), which uses Niantic's own 3D scan database rather than Google's.
Scene Semantics
ARCore Scene Semantics (2023) classifies each pixel in the camera feed into one of nine outdoor semantic categories — sky, building, road, sidewalk, terrain, structure, water, tree, person. Applications can query the semantic label at any screen coordinate to understand the type of surface they are placing content on, enabling context-aware AR (don't place virtual objects in the sky, prefer placing on terrain, etc.).2
Platform Coverage
ARCore is certified on hundreds of Android devices from major manufacturers (Google Pixel, Samsung, Sony, OnePlus, Xiaomi, and others). Google maintains the ARCore supported devices list, and certification requires passing ARCore compatibility tests. On iOS, the ARCore SDK is available but only accesses ARKit's underlying tracking — it does not replace ARKit on Apple hardware but provides a consistent API for developers targeting both platforms.
See also: Standards & SDKs · ARKit · WebXR · Spatial Anchors · Scene Reconstruction · SLAM