Using ARCore with Vuforia Engine

Vuforia Engine can leverage Google's ARCore on devices that support it. Take advantage of ARCore for Ground Plane and Device Tracking (including Extended Tracking) features.

You can enable Vuforia Engine to use ARCore instead of using Vuforia’s own plane-finding technology. Using ARCore on devices where it is supported is encouraged. Consider also if your AR app should have ARCore as a requirement or optional depending on the set of devices that you wish to target.

Include ARCore in Unity

In Unity, you can easily include the ARCore Library with the checkbox in the Vuforia Configuration in the Device Tracker component. The Gradle build will then automatically include the version of the ARCore library as specified on the Vuforia Supported Versions page. To use a custom version of ARCore, keep the ARCore Requirement unchecked.

NOTE: If the Device Tracker's Tracking Mode is set to POSITIONAL in the configuration, the ARCore setting is automatically set to OPTIONAL, but can be changed after that.

Android Build Support in Unity

When developing apps with Vuforia Engine and ARCore, you should make sure that your Build Settings are set correctly as 32-bit apps are not supported on 64-bit operated devices and the more recent ARCore libraries. Building the app to an unsupported architecture might result in a black screen.

Set the following Player Settings to build to 64-bit

  1. Set the Scripting Backend to IL2CPP.
  2. Enable the ARM64 and disable the ARMv7 architecture.

NOTE: If 32-bit support is required, you should manually add the ARCore library.

Manually Include ARCore in Unity

It is also possible to change the ARCore version used in the project:

  1. In the Vuforia Configuration, uncheck the Include ARCore library option.
  2. In the Project, create the directory: Assets/Plugins/Android.
  3. Copy the arcore_client.aar file with the intended version to that directory. The aar file can be downloaded from google-ar/arcore-unity-extensions. For older versions, please see here.

NOTE: The recommended ARCore version is 1.22.0.

Native Android

Prerequisites

For the latest supported Android Studio, SDK Build Tools, Gradle, and NDK, please refer to Supported Versions. For more information on enabling ARCore, please refer to the Android Developer Portal.

Enabling ARCore

  1. Open AndroidManifest.xml and add the following within the <application> element:
<!-- The following must be present to facilitate use of ARCore, if available -->
<meta-data android:name="com.google.ar.core" android:value="optional" />
  1. Edit (root) build.gradle and ensure that each of the repositories elements includes an entry for google():
repositories { 
    jcenter() 
    google() 
}
  1. Also in (root) build.gradle, ensure that the dependencies element references the latest supported Gradle tools:
classpath 'com.android.tools.build:gradle:4.1.0
  1. Edit app/build.gradle and confirm that the dependencies element references the ARCore client library:
dependencies {
    implementation 'com.google.ar:core:1.22.0' 
}