ARCore provides two different SDKs for using Unity to develop AR apps for Android.
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.
[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) |
google-ar/arcore-unity-extensions Unity-Technologies/arfoundation-samples |
google-ar/arcore-unity-sdk |
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:
|
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
To get started using AR Foundation with ARCore Extensions, see:
To get started using the ARCore SDK for Unity, see: