System 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.3 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/.

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.

Developing on M1 Macs

If you’re developing on an M1 Mac, you’ll need to apply a small ARDK patch to your Unity project. See “Developing Using M1 Macs” in Troubleshooting for how to get and apply the patch.

ARDK’s native plugins are currently built for Intel Macs, which cause issues on M1 Macs. The patch disables some of these plugins, which will result in the following limitations when running in Unity 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

iOS Minimum Version

Basic AR Features

Anchors, Light estimation, Plane Detection, Session, Shared AR (Point Cloud)

Android 7 Nougat

iOS 11

Advanced AR Features

Image Detection, Plane Geometry, Reference Image

Android 7 Nougat

iOS 11.3

Plane Classification (iOS only)

N/A

iPhone XS, iOS 12

Networking Features

Multiplayer

Android 7 Nougat

iOS 11

Context Awareness Features

Depth, Occlusion, Meshing, Semantic Segmentation

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

iPhone 8, iOS 13

LIDAR depth enhancement

Not supported

iPhone 12 Pro, iOS 14

iOS

The following is a list of iOS devices that have been validated to support awareness features. Using awareness features on other devices may result in poor performance or crashing.

Note

Currently ARDK does not support iPad devices

  • iPhone 8, 8 Plus, X

  • iPhone XR, XS, XS Max

  • iPhone 11, 11 Pro, 11 Pro Max, iPhone SE (2nd Gen)

  • iPhone 12, 12 mini, 12 Pro, 12 Pro Max

  • iPhone 13, 13 mini, 13 Pro, 13 Pro Max

ARDK utilizes Apple’s ARKit for some features. For a list of iOS devices that support ARKit, see iOS Device Compatibility Reference.

Android

The following is a list of chipsets and devices that have been validated to support awareness features. Using 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.