Platform Requirements¶
Platform Support¶
Please refer to EasyAR Sense EasyAR Sense Platform Requirements and Unity System requirements.
About Android arm64-v8a
For Unity, Android arm64-v8a is not supported by Unity’s mono scripting backend. IL2CPP need to be enabled for it.
About iOS armv7
EasyAR Sense has dropped iOS armv7 support since the 3.0 release. There is an empty code layer in the library so the XCode projects will always build, but all features are not available in runtime if only armv7 is selected.
Unity Compatibility¶
Unity 2019.4 or later versions is required.
Compatibility for Unity > 2019.4,
In general, EasyAR Sense Unity Plugin do not rely very much on changing part of Unity APIs, so if there are newer versions of Unity release, EasyAR Sense Unity Plugin will most likely work smoothly on those versions.
Unity 2020.2 and later has removed OpenGLES support on iOS, video recording feature will not work on iOS when using Unity 2020.2 or later.
Compatibility for Unity < 2019.4,
To provide a better package experience and to support modern Unity XR workflow, we are continue migrating our assets and scritps to Unity 2019.4. This will break compatibility for older Unity versions increasingly. If you are still sticking in an old Unity version for some reason, you can try to extract assets from the tgz
file and put them into project Assets
folder, then solve errors pops up. Official support will NOT be offered except a few advices below,
Unity 2019.3: The plugin can seemingly work in this version due to limited difference between 2019.3 and 2019.4. This compatibility is not by design, and later releases may not work.
Unity 2019.2: The plugin can seemingly work in this version, you may need to manually edit package manifest to add a tarball into the project. This compatibility is not by design, and later releases may not work. The samples may fail to import because of path length limit on Windows, you can copy them directly to your
Assets
folder from native filesystem.Unity 2019.1: Unity Package Manager UI in this version does not seem to support tgz file properly. You can try embed the package, and if it doesn’t work, break the package and put assets directly in the
Assets
folder.Unity 2018.4: Unity Package Manager UI in this version does not support samples. And since the plugin is packed in Unity 2019.4, meta files for some important files fail to function. You need to break the package and put assets directly in the
Assets
folder. You may still get most features work after rebuild the Unity meta, but it is untested.Unity 2017 or Unity 5: Unity Package Manager does not exist in these versions. And a few legacy code path in the plugin has been removed. You may need to do much more work to make the plugin functional in these versions.
.NET API Compatibility Level¶
The plugin scripts are compatible with .NET Standard 2.0 API.
Graphics API¶
Starting from release of EasyAR Sense 3.0, EasyAR Sense Unity Plugin use Unity render pipeline directly, all graphics API in Unity is supported by nature.
Exception: due to internal implementation of EasyAR Sense, the video recording feature will only work in certain conditions, when using OpenGLES2 or OpenGLES3 on Android, or when using OpenGLES2 one iOS.
Scriptable Render Pipeline¶
The Plugin support Universal Render Pipeline (URP) 7.0.0 or later.
The Plugin does NOT support High Definition Render Pipeline (HDRP).
Unity AR Foundation Compatibility¶
The Plugin support AR Foundation 4.0.8 or later.
Huawei AR Engine Compatibility¶
The Plugin support the official Huawei AR Engine Unity SDK
2.11.0, released as arenginesdk-tool-2.11.0.2.zip
file.
Unity SDK of AR Engine is not maintained officially by Huawei right now, so we are not sure if a later version of AR Engine could be used. Also, because Huawei AR Engine Unity SDK
uses some deprecated Unity API, it is not usable in Unity 2020.1 or later.
The Plugin does not support Huawei AR Engine without its official Unity SDK.
Nreal Device Compatibility¶
These Nreal SDK versions are already supported by EasyAR in this release,
1.5.7
1.6.0
1.7.0
A future Nreal SDK release may also be supported if its interfaces used by EasyAR did not change. For small changes in those interfaces, you can modify NrealFrameSource script before an update is released by EasyAR.
Restrictions from Unity itself¶
About Android arm64-v8a
For Unity, Android arm64-v8a is not supported by Unity’s mono scripting backend. IL2CPP need to be enabled for it.
Mono scripting backend support
iOS: not support (due to lack of support for 64-bit Mono in Unity)
Android: supported (armv7 only)
IL2CPP scripting backend support
iOS: supported
Android: supported
Restrictions from ARCore¶
If ARCore is in use, you must use IL2CPP and include arm64-v8a in build. The ARCore will not work correctly on arm64 devices with armv7 only build.