ARDK System Requirements

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 the Unity 2019.4 LTS release. 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 12.2) 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/.

Keep the following considerations in mind when developing for iOS:

  • ARDK is not currently supported by certain Mac models with Apple Silicon processors (‘M1 chips’). The Niantic team is aware of this issue and is working to support this in future versions.

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 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. The simplest fix is that your app must target API level 29 or lower. In Unity you can set this by going to the Android tab of the Player Settings and setting the target API level.

    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

ARDK's native plugins are built for iOS, Android, and MacOS, and will not load on Windows machines. While developing on Windows, there may be DllNotFoundExceptions in the Unity console due to attempted native calls. These will not block building or development, but native networking in the Unity Editor will not work. Also, the Remote Debugging application will run at a degraded frame rate due to not compressing ARFrames while connected to a Windows machine.

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.