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.

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.

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-sdk.

NOTE: That the minimum ARCore version supported by Vuforia Engine 10.0 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.23.0' 
}