The ARCore SDK for Unity was deprecated in 2021 and is no longer supported. Additionally, the ARCore SDK for Unity cannot be used with Unity 2020 and later. Developers starting new projects should instead use the ARCore Extensions for AR Foundation. This SDK should only be used by developers working on existing projects which are unable to migrate to AR Foundation.

ARCore SDK for Unity migration guide

Stay organized with collections Save and categorize content based on your preferences.

ARCore provides two different SDKs for using Unity to develop AR apps for Android.

  1. AR Foundation with ARCore XR Plugin, and ARCore Extensions — Recommended for all new projects

    ARCore Extensions (installation instructions) is a package that provides additional ARCore functionality that can be used with AR Foundation (installation instructions). When targeting Android, AR Foundation requires ARCore XR Plugin.

  2. [deprecated] ARCore SDK for Unity — Not compatible with AR Foundation

    ARCore SDK for Unity is a standalone SDK that lets you use ARCore's features when targeting Android. It is provided as a standalone *.unitypackage, available from the Downloads page. The ARCore SDK for Unity is not compatible with AR Foundation.

Available features by development platform

ARCore feature AR Foundation with ARCore Extensions
(Recommended for all new projects)
ARCore SDK for Unity
(Not compatible with AR Foundation)
Supported Unity versions Unity 2019.4.3f1 or later Unity from 2017.4.40 to 2020
Unity XR support Install the AR Foundation and ARCore XR Plugin packages, and enable ARCore plug-in provider under Project Settings > XR Plug-in Management (Android) Project Settings (Android) > XR Settings > ARCore Supported
GitHub repo(s)
(SDK / samples)
In-editor development workflow AR Remoting & Simulation Instant Preview
Pause the AR Session Disable the ARSession game object Disable the ARCore Device game object, which in turns disables the child ARCoreSession component
Detect tracking issues Use notTrackingReason provided by ARSession and returning a NotTrackingReason Use LostTrackingReason
Select camera config See Configuring the camera for ARCore Extensions See Configuring the camera for ARCore SDK for Unity
Plane finding Use Plane Detection provided by ARPlaneManager
Local anchors Use Anchors provided by ARAnchorManager
Cloud Anchors Provided by ARCore Extensions See Cloud Anchors
Basic light estimation Use Ambient Intensity Light Estimation mode provided by ARCameraManager See Light Estimation
Environmental HDR light estimation Automatically enabled when a compatible camera config is selected and one or more Environmental HDR settings are selected:
  • Ambient Spherical Harmonics, Main Light Direction, Main Light Intensity in the Light Estimation mode provided by ARCameraManager
  • Environmental Probes are enabled in an AREnvironmentProbeManager
See Light Estimation
Augmented Images Use (2D) Image Tracking provided by ARTrackedImageManager See Augmented Images
Augmented Faces Use Face Tracking provided by ARFaceManager See Augmented Faces
Depth API Use AROcclusionManager to enable Automatic Occlusion in AR Foundation 4.1.0-preview.2 or later with ARCore XR Plugin 4.1.0-preview.2 or later See Depth API
Raycasting Use Raycasting provided by ARRaycastManager
Feature points Use Point Clouds provided by ARPointCloudMaganer
AR camera image access Use Pass-through video provided by ARCameraBackground
CPU image access Provided by AR Foundation
GPU texture access Accessible as external Texture2Ds.
Multithreaded rendering Supported in Android Player Settings in AR Foundation

Next steps