EasyAR Settings

The EasyAR configuration page can be accessed from the Unity menu EasyAR > Sense > Configuration or Edit > Project Settings > EasyAR.

../_images/image_ps1_1.png

This page contains all global configuration options for EasyAR Sense Unity Plugin.

../_images/image_ps1_2.png

Diagnostics Options Configuration

Attention

In addition to global configuration, diagnostic configuration options on ARSession also affect the final usage. You need to read Simulation and Diagnostics and choose the configuration suitable for development, testing, or release.

It is generally recommended to configure the following during development and testing:

  • Message Output > Session Dump: UI

  • Message Output > Sense Error: UIAndLog

  • Message Output > Session Error: UIAndLog

  • Message Output > Error: UIAndLog

  • Message Output > Warning: UIAndLog

  • Developer Mode Switch: Default

  • Session Validation Tool > Frame Player: Configure according to whether using computer camera or eif file to run the scene

For release stage, configure:

  • Message Output > Session Dump: None

  • Message Output > Sense Error: Log

  • Message Output > Session Error: Log

  • Message Output > Error: Log

  • Message Output > Warning: Log

  • Developer Mode Switch: Default or Custom

And ensure that runtime data can be collected using the diagnostics panel or custom methods online.


Initialize On Startup

Initialize EasyAR on startup. It is generally recommended to keep this option enabled.

If you disable this option, you need to manually initialize EasyAR Sense. For details, refer to EasyAR Sense Initialization .

EasyAR Sense License

EasyAR Sense License related configuration.

LicenseKey

EasyAR Sense License Key. You must enter a valid license to use EasyAR features. See https://www.easyar.com .

Can be left blank only when manually initializing EasyAR Sense via API.

Attention

When using on head-mounted devices (Vision Pro, XREAL, Pico, Rokid, etc.), you need to use EasyAR XR License.

Attention

EasyAR Sense will stop responding after a fixed and limited time per run if trial product (personal license, trial XR license, or trial Mega services, etc.) is being used with custom camera or HMD. There is no limitation when using a paid license for EasyAR Sense and paid EasyAR Mega service.

Verify When Build

Verify license Key when building Unity project.

When this option is enabled, the Unity project build process will verify the license Key. If the license is invalid for the build platform or does not include the package name set in Unity Player Settings, the build process will fail. If you need to use a license key configured elsewhere or need to modify the package name after the Unity build process, you can disable this option.

Lib Variants

EasyAR Sense library variant configuration.

EasyAR Sense usually has multiple variants, and the features of different variants vary. Here is a comparison of the library variants integrated in the plugin.

Variant

EasyAR Sense Variant Name

Feature Difference

Other Special Notes

Normal

Community/Enterprise

No video recording or inertial navigation

Full

CommunityFull/EnterpriseFull

Includes inertial navigation and some extra Mega features

Larger library file size

VideoRecording

CommunityR

Includes video recording (Android only)

Note

Some variants not usable in Unity are not listed, such as the iOS CommunityR variant.

Default values:

  • Normal : When EasyAR Mega support package not imported

  • Full : When EasyAR Mega support package imported

Recommended configuration:

  • Full : Use EasyAR Mega or inertial navigation features

  • Normal : Minimize package size and do not use EasyAR Mega or inertial navigation

  • VideoRecording : Need video recording feature (Android only)

Permissions

Application permission configuration. It is generally recommended to keep the default.

Except for camera permission, other permission configurations cannot be changed and are determined by other feature configurations.

Permission

Editable

Enable Condition

Description

Camera

Yes

Camera permission. Required for using camera device

AndroidMicrophone

No

Variant is VideoRecording

Microphone permission. Required for video recording

Location

No

Mega support package imported

(fine) Location permission. Required for EasyAR Mega

Unity XR

Unity XR framework (AR Foundation, etc.) related configuration.

AR Foundation Support

AR Foundation support switch. It is recommended to keep enabled.

In rare cases, such as when using AR Foundation 4 or compilation errors caused by AR Foundation updates, you can disable this option, but all AR Foundation related features in the plugin will also be disabled.

Note

Switching this option will trigger code recompilation.

Unity XR Auto Switch

Automatic switching of Unity XR (such as AR Foundation) object feature configuration.

  • EditorEdit mode options
    • Disable AR Session : In edit mode, disable ARSession of AR Foundation when ARSession exists.

  • PlayerPlay mode options
    • Enable : Enable play mode control. Note: If this option is disabled, components that are disabled during edit mode will not be restored at play mode.

    • Enable If Desktop : Enable if on Windows/Mac.

    • Enable If Mobile AR On Startup : Enable if mobile AR (ARKit/ARCore) loader is active when the switch starts. This option usually require Initialize XR on Startup of XR Plug-in Management is checked.

    • Disable If Non Mobile AR Post Startup : Disable if non-mobile AR (ARKit/ARCore) loader is found but no active loader exist. This option is usually used when Initialize XR on Startup of XR Plug-in Management is not checked.

    • Restore AR Session When Disabled : When function disabled, restore (enable) all disabled ARSessions of AR Foundation (whether they are disabled by EasyAR or not). This options is usually used to restore disabled components in edit mode.

For detailed feature description, please refer to Unity XR Auto Switch .


Mega

EasyAR Mega feature configuration.

InertialCameraDevice Support

Read-only option, displays whether inertial navigation is available under current configuration and ONNX runtime information.

If the displayed information does not meet your needs, please modify Lib Variants and ONNX Runtime (Bundled) options as needed.

Mega Block > Localization Service Access [Global]

Global Mega Block localization service config.

Mega Landmark > Localization Service Access [Global]

Global Mega Landmark localization service config.

Spatial Map

EasyAR Spatial Map feature configuration.

Service Access [Global]

Global spatial map service config.

Image Tracking

EasyAR Image Tracking feature configuration.

Target Gizmo

ImageTarget Gizmos configuration in the editor.

Enabling these options will display corresponding gizmos in Unity Editor. If there are too many such targets in the scene, it may affect editor startup performance. Runtime performance on device is not affected.

Cloud Recognition (CRS) > Service Access [Global]

Global cloud Recognition service config.

Object Tracking

EasyAR Object Tracking feature configuration.

Target Gizmo

ObjectTarget Gizmos configuration in the editor.

  • Enable: Enable Gizmos.


Third-Party Libraries

Third-party library configuration.

AR Core SDK

AR Core SDK configuration.

ARCore offers motion tracking capability on some Android devices. Please read Motion Tracking and EasyAR Features for the relationship between EasyAR and motion tracking, and is ARCore needed and when.

  • AR Foundation Or Optional: Either ARCore SDK distributed with EasyAR or AR Foundation will be included in the build according to the settings of ARCore XR Plugin. This option is suggested for most cases, it will handle AR Foundation automatically.

  • Optional: ARCore features are activated only on ARCore supported devices that have Google Play Services for AR installed.

  • Required: Your app will require an ARCore Supported Device that has Google Play Services for AR installed on it.

  • External: Use this option if you are using AR Foundation or other ARCore SDK distributions, so that ARCore SDK distributed with EasyAR will not be used. You can also use this option to fully exclude ARCore SDK to be included in you app.

You can read Google’s instructions for more details about Optional and Required and configurations required for your app to submit to Play Store.

Note

ARCore libraries and settings are already inside EasyAR Sense Unity Plugin. It is still required to install Google Play Services for AR on the device though.

  • Use ARCore SDK distributed in the Plugin

    EasyAR’s ARCore wrapper using ARCore SDK distributed with EasyAR does NOT require GLES3, in opposite to ARCore XR Plugin used by AR Foundation . But we are not exporting rich features from ARCore. If you desire to use features like plane detection when using ARCore, it is still suggested to use* AR Foundation.

  • Use ARCore SDK distributed in AR Foundation

    If you want to use ARCore SDK from AR Foundation, you can reference Google’s instructions for configuration. ARCore SDK option require to be AR Foundation Or Optional or External in this case.

  • Use other ARCore SDK

    If you want to use ARCore SDK from other plugins or projects, you need to read their instructions for configuration. ARCore SDK option require to be External in this case.

Important

If you need to use ARCore on all Xiaomi and Redmi phones that support ARCore, use AR Foundation. Due to bugs in the implementation of Xiaomi manufacturers, the ARCore wrapper of EasyAR has disabled some Xiaomi phones, including the Mi 9, Mi 10, Redmi K20, Redmi K30, Redmi K40 and other series (the list here is incomplete). On these phones, ARCore will not be used by default, and EasyAR motion tracking will be used on phones that support EasyAR motion tracking.

Warn 32-bit-only ARCore-enabled build

ARCore will not work correctly on arm64 devices with armv7 only build according to Google’s policy. If you do not select ARM64, a warning message will pop up in the build process,

../_images/image_g4_11.png

Change project settings to fix this, use IL2CPP for build and select ARM64.

../_images/image_g4_6.png

Note

If you really need to disable the warning, you can choose Continue and don't warn me again or turn off this option, which will turn off checks in the build process. Tuning off this check will only close warnings in the build process, but errors may happen in runtime on some devices, including crash or black screen or others.

AR Engine SDK

AREngine SDK configuration.

AREngine provides motion tracking capability on some Android devices. Please read Motion Tracking and EasyAR Features to understand the relationship between EasyAR features and motion tracking, and whether and when AREngine is needed.

  • AREngineInterop : AREngineInterop is enabled. AREngine SDK distributed with EasyAR will be included in the build.

  • External : AREngineInterop is enabled. AREngine SDK distributed with EasyAR will not be used.

  • Disabled : AREngineInterop is disabled. AREngine SDK distributed with EasyAR will not be used.

ONNX Runtime (Bundled)

If bundled ONNX runtime is used. Only effective when Lib Variant is Full.

To use a different version of ONNX, you can get the updated version from the official ONNX website and disable this option. Using a self-compiled binary incompatible ONNX will cause unknown errors.

Workaround For Unity

Workarounds for Unity bugs or unreasonable behaviors.

GenerateXMLDoc

Generate XML document when script reload to make intelliSense for API document work.

URP17RG_DX11_RuinedScene

Workaround URP 17 Render Graph DX11 scene rendering ruined. This option is off in Unity 6.2 or later.

URP17RG_IOS_Glitches_Partial

Partial workaround for https://issuetracker.unity3d.com/issues/ios-visual-artifacts-are-visible-when-the-cameras-feed-is-rendered-to-a-texture.

Problem short description: Glitches and artifacts are observed on iOS/Mac when you retrieve camera texture from EasyAR (as the sample ImageTracking_Coloring3D and Workflow_FrameSource_CameraDevice does). We have reproduced this issue using pure Unity packages and reported to Unity: Glitches on iOS with AR Camera Image Rendering (URP 17 render graph). Please follow Unity Issue UUM-87787 update or future Unity release notes for further infomation.