Development and Runtime Requirements of ARDK

This document describes both the system requirements for developing AR experiences using the ARDK, and the system requirements for running AR experiences built with the ARDK.

Development Requirements

To develop AR experiences using the ARDK, you’ll need Unity and developer tools for the mobile platform you’re targeting.

Unity

ARDK is officially supported on Unity 2020 LTS and Unity 2021 LTS. To download Unity, visit https://unity3d.com/get-unity/download.

  • The officially supported Scripting Runtime Version in Unity is .NET 4.x Equivalent.

  • Using ARDK with Unity’s Universal Render Pipeline is supported (see Using the Universal Render Pipeline for more).

  • Currently ARDK does not integrate with Unity MARS. There are AR-in-editor tools available via Virtual Studio.

iOS Development

ARDK requires XCode (minimum version 13) to build and deploy for iOS. The version of XCode you’ll need depends on which version(s) of iOS you are targeting. See the “Minimum requirements and supported SDKs” table on https://developer.apple.com/support/xcode/ to determine which version of XCode you should install. To download XCode visit https://developer.apple.com/xcode/.

Developing with ARDK requires Mac OS Big Sur or better. Mac OS Catalina and earlier are not supported.

Android Development

ARDK requires Android API level 24 or better. For a list of which Android platforms support which API levels, see: Platform codenames, versions, API levels, and NDK releases

You don’t need to install Android Studio, as Unity will build and deploy Android apps. You will need to install Android build support in Unity, as described in Building for Android and Android environment setup. You will also need the Android Debug Bridge installed.

On your test Android device, make sure you have Developer Options and USB debugging enabled.

See Building to Android for additional build settings in Unity that you need to use when building for Android.

Keep the following considerations in mind when developing for Android:

  • There is currently a conflict with ARDK and phones running Android 11 (API level 30) or higher. If an ARDK app is built from Unity with a target API level of 30 or higher, then on devices running Android 11 or higher, Google Play Services for AR (ARCore) will appear to be unavailable regardless of whether it’s installed or not. If you need to build for API 30 or higher, see “Building for Android 11 (API level 30) and higher” in Building for Android.

Developing on Windows

You can develop apps with ARDK on Windows, however ARDK’s native plugins currently are built for iOS, Android, and MacOS, and will not load on Windows machines. This means you may encounter the following issues:

  • ARDK networking features will not work in Unity. This includes networking APIs and shared AR features. Networking features will work when deployed to mobile devices.

  • Remote mode does not currently work in wireless mode on Windows. To use remote mode on Windows, you’ll need to use a wired USB connection to your device.

  • You may see “System.DllNotFoundException: ardk_client_platform” exceptions in your Unity console when running your project in Unity. These messages are due to native calls not working on Windows. These exceptions will not affect your app running on mobile devices.

  • The Remote Debugging application will run at a degraded frame rate due to not compressing ARFrames while connected to a Windows machine.

Some versions of Windows have a 260 character file path limit, which may cause build issues when using ARDK in a Unity project in a deeply nested file hierarchy on your local system. We recommend either placing your Unity project in a shallow file path location on your system, or enabling longer file paths. See Maximum Path Length Limitation for more details on enabling longer paths.

Developing on M1 Macs

We recommend using Unity 2021 “Silicon” version when developing on M1 Macs for the best experience.

If you have to use Unity 2020 or Unity 2021 “Intel” version on M1 Macs, note that ARDK’s native plugins built for Intel Macs will cause issues on M1 Macs. When importing ARDK in your Unity 2020 or Unity 2021 “Intel” project running on an M1 Mac, the import process automatically applies a small patch to ARDK to disable some of the native plugins. This will result in the following limitations when running your project on M1 Macs (but not on mobile devices):

  • ARDK networking features will not work in Unity. This includes networking APIs and shared AR features. Networking features will work when deployed to mobile devices.

  • Remote mode does not currently work in wireless mode. To use remote mode on M1 Macs, you’ll need to use a wired USB connection to your device.

Runtime Requirements

The ARDK runs on multiple mobile OSs and devices. Some ARDK features rely on specific versions of the device OS. Some features require a minimum hardware configuration. The following table lists the minimum device and OS runtime requirements for ARDK features.

Note

Currently ARDK does not support landscape mode on mobile devices

ARDK Feature

Android Minimum Version and Device Requirements

iOS Minimum Version and Device Requirements

AR Fundamentals Features

Anchors, Light Estimation, Plane Detection, Point Cloud, Image Detection, Plane Geometry, Reference Image

Android 7 Nougat (API level 24), see ARCore Supported Devices

iOS 11.3, iPhone 8 and above

Shared AR Features

Android 7 Nougat (API level 24), see ARCore Supported Devices

iOS 11, iPhone 8 and above

Lightship VPS Features

Android 7 Nougat (API level 24), see ARCore Supported Devices

iOS 11, iPhone 8 and above

Contextual Awareness Features

Depth, Occlusion, Meshing, Semantic Segmentation

Android 7 Nougat (API Level 24), High-end devices released since 2018, requiring one of the following GPUs or better: Qualcomm Adreno 630, 640, 650, 660; ARM Mali G72, G76, G77, G78. See details below.

iOS 13, iPhone 8 and above

LIDAR depth enhancement (iOS only)

N/A

iOS 14, iPhone 12 Pro and above

Plane Classification (iOS only)

N/A

iOS 12, iPhone XS and above

Note

Currently ARDK does not support iPad devices

Android Devices and Contextual Awareness

The following is a list of chipsets and devices that have been validated to support contextual awareness features. Generally these chipsets are available on devices released since 2018. Using contextual awareness features on other hardware may result in poor performance or crashing.

  • Adreno 630, Mali G-72 (Google Pixel 3, Samsung Galaxy S9 and S9+, Samsung Note 9)

  • Adreno 640, Mali G-76 (Google Pixel 4, Samsung Galaxy S10, Samsung Note 10)

  • Adreno 650, Mali G-77 (Samsung Galaxy S20, Note 20)

  • Adreno 660, Mali G-78 (Samsung Galaxy S21, Note 21)

ARDK utilizes Google’s Google Play Services for AR (ARCore) for some features. For a list of devices that support Google’s ARCore, see ARCore supported devices.

Validating Device Requirements

See the Validate Device Requirements page for help on checking the hardware and software capabilities of a device at runtime.