Platform Requirements

Platform Support

EasyAR Sense is a cross-platform AR SDK. The following OSes are supported

  • Windows 7 and above (7/8.1/10/11)

  • Mac OS X 10.15 and above

  • Android 5.0 and above

  • iOS 11.0 and above

Notice: Due to the dependency for camera implementation on Media Foundation, Media Feature Pack is required on Windows N and KN variants.

More about the latest version of Android and iOS,

  • EasyAR Sense is compatiable with Android 13

  • EasyAR Sense is compatiable with iOS 16

Generally, EasyAR Sense do not rely very much on system APIs, so if there are newer version of Android/iOS release, EasyAR Sense will most likely work smoothly on those systems.

CPU Architectures

  • Windows: x86, x86_64

  • Mac: x86_64, arm64

  • Android: armv7a, arm64-v8a

  • iOS: arm64

Additional Hardware Requirements for Features

Feature

Additional Hardware Requirements

Planar Image Tracking

Camera

Video Playing

OpenGLES 3.0

Cloud Recognition

Camera

3D Object Tracking

Camera

Recording

OpenGLES 3.0

Surface Tracking

Camera, gyroscope and accelerometer. CPU computing power meets or exceeds Snapdragon 410.

Sparse Spatial Map

ARKit, ARCore or Motion Tracking capability

Dense Spatial Map

ARKit, ARCore or Motion Tracking capability. CPU computing power equals or exceeds Apple’s A10 / Qualcomm’s Snapdragon 835 / Huawei’s Kiri970 processor

Motion Tracking

Refer to Motion Tracking Supported Devices

Mega/Cloud Localization

ARKit, ARCore or Motion Tracking capability

About Android Multiple CPU Architecture Support

EasyAR Sense provides armv7a and arm64-v8a binaries. Developers need to choose whether to use it or not.

In the apk of every application, there is a directory for every ABI, e.g. arm64-v8a .

Android for ARMv8-A support binary files of two ABIs: armeabi-v7a and arm64-v8a , but a process can only run with one ABI at a time. The ABI is selected automatically by the existence of these ABI directories, and so files from different ABIs can not mixed.

On x64 CPU, libhoudini can be used to run armeabi-v7a / arm64-v8a binaries with binary translation, but if apk contains x86 or x86_64 directory, the binary translator may not be activated.

So, when packaging an application, it is necessary to ensure the integrity of the directory of every ABI. If a directory is not complete, it’s better to delete that directory.

Warning:

Since August 1, 2019, Google Play Store requires that an application with armeabi-v7a be committed with support for arm64-v8a. (Support 64-bit architectures)

ARM will stop supporting 32-bit since 2023. (Why Arm Is Making All Cortex-A Mobile Cores 64-bit Only)

API Languages

These language bindings are provided by EasyAR Sense by default.

  • Windows: C, C++17, traditional C++, C#

  • Mac: C, C++17, traditional C++, C#

  • Android: Java (also works for Kotlin), C, C++17, traditional C++, C#

  • iOS: Swift, Objective-C, C, C++17, traditional C++, C#

As EasyAR Sense provides a C API, you can always write your own API bindings for other languages.

Swift API for iOS

  • EasyAR Sense Swift API for iOS is compatiable with Swift 4 and Swift 5.

EasyAR Sense Swift API is provided in source code for the best compatibility.