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.