Table of Contents

EasyAR Configuration

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

alt text

This page contains all the global configurations for the EasyAR Sense Unity Plugin.

alt text


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 specific methods, refer to Initializing EasyAR Sense.

EasyAR Sense License

EasyAR Sense License related configurations.

LicenseKey

EasyAR Sense License Key. A valid license is required to use EasyAR features.

Can be left empty only when manually initializing EasyAR Sense via the interface.

Note

When using on head-mounted display devices (Vision Pro, XREAL, Pico, Rokid, etc.), an EasyAR XR License is required.

Note

When using trial products (such as personal edition license, trial XR license, or trial Mega service) on custom cameras or headsets, EasyAR Sense will stop responding 100 seconds after each startup (the duration can be adjusted via EasyAR Business upon approval for Mega users). Using the paid version of EasyAR Sense and the paid EasyAR Mega service does not have this restriction.

Verify When Build

Verify the license Key during the Unity project build process.

When this option is enabled, the Unity project build process will verify the license Key. If the license is invalid on 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

Configuration for EasyAR Sense library variants.

Only Android, iOS, and visionOS platforms can be selected. Windows and Mac platforms do not support selection and always use the Full variant.

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

Variant EasyAR Sense variant name Functional differences Other special features
Normal Community/Enterprise Does not include screen recording, inertial navigation, and Mega Go
Full CommunityFull/EnterpriseFull Includes inertial navigation and Mega Go Larger library file size
VideoRecording CommunityR Includes screen recording function (only on Android)
Tip

Some variants that cannot be used in Unity are not listed, such as the iOS CommunityR variant.

Default values:

  • EasyAR Mega support package not imported: Normal
  • EasyAR Mega support package imported: Full

Recommended configurations:

  • Full: Use EasyAR Mega or the inertial navigation function
  • Normal: Pursue the smallest package size and do not use EasyAR Mega or inertial navigation support
  • VideoRecording: Need to use the screen recording function (only on Android)

Permissions

Configuration for application permissions. It is generally recommended to keep the default settings.

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

Permission Can be changed Enable condition Permission description
Camera Yes Camera permission, required to use the camera device
AndroidMicrophone No Variant is VideoRecording Microphone permission, required to use the screen recording function
Location No Import the Mega support package (Fine) Location permission, required to use EasyAR Mega

Unity XR

Configuration related to the Unity XR framework (such as AR Foundation).

AR Foundation Support

The switch for AR Foundation support. It is recommended to keep it enabled.

In rare cases, such as when you need to use AR Foundation 4 or when compilation errors occur due to an update of AR Foundation, you can disable this option. However, all AR Foundation-related functions in the plugin will be disabled at the same time.

Note

The scripts will be automatically recompiled after modifying this option.

Unity XR Auto Switch

Configuration for the function of automatically switching Unity XR (such as AR Foundation) objects.

  • Editor: Options for the editing mode
    • Disable AR Session: When ARSession exists, disable the ARSession of AR Foundation during editing.
  • Player: Options for the running mode
    • Enable: Enable runtime control. Note: If you disable this option, the components disabled in the editing mode will not be restored at runtime.
    • Enable If Desktop: Enable on Windows/Mac.
    • Enable If Mobile AR On Startup: When the switcher starts, if the loader of mobile AR (ARKit/ARCore) is active, enable it. Usually, the Initialize XR on Startup option in XR Plug-in Management needs to be selected for this option.
    • Disable If Non Mobile AR Post Startup: When the switcher starts, if there are other loaders besides mobile AR (ARKit/ARCore) but none of them are active, disable it. Usually, this option is used when the Initialize XR on Startup option in XR Plug-in Management is not selected.
    • Restore AR Session When Disabled: When the function is disabled, restore (enable) all disabled ARSessions of AR Foundation (regardless of whether they were disabled by EasyAR). This option is usually used to restore the components disabled during editing.

For detailed function descriptions, refer to Unity XR Automatic Switching.


Mega

Configuration for the EasyAR Mega function.

Mega Block/Landmark Support

Whether to enable Mega Block/Landmark support.

This option is enabled by default after importing com.easyar.mega and is disabled by default if not imported.

Mega Go Support

Version >= 4003.1

Whether to enable Mega Go on-device positioning support.

This is a read-only option that shows whether the Mega Go function is available under the current configuration.

If the displayed information does not meet your requirements, you need to modify the Lib Variants option as appropriate.

InertialCameraDevice Support

This is a read-only option that shows whether the inertial navigation function is available under the current configuration.

If the displayed information does not meet your requirements, you need to modify the Lib Variants option as appropriate.

ONNX Rumtime

This is a read-only option that shows the ONNX runtime information under the current configuration.

If the displayed information does not meet your requirements, you need to modify the Lib Variants and ONNX Runtime (Bundled) options as appropriate.

Mega Block > Localization Service Access [Global]

Global configuration for the Mega Block localization server.

Mega Landmark > Localization Service Access [Global]

Global configuration for the Mega Landmark localization server.

Spatial Map

Configuration for the EasyAR spatial map function.

Service Access [Global]

Global configuration for the sparse map server.

Image Tracking

Configuration for the EasyAR image tracking function.

Target Gizmo

Configuration for the Gizmos of ImageTarget in the editor.

Enabling these options will display the corresponding gizmos in the Unity Editor. If there are too many targets of this type in the scene, it may affect the startup performance in the editor. The performance when running on the device will not be affected.

Cloud Recognition (CRS) > Service Access [Global]

Global configuration for the cloud recognition server.

Object Tracking

Configuration for the EasyAR object tracking function.

Target Gizmo

Configuration for the Gizmos of ObjectTarget in the editor.

  • Enable: Enable the Gizmos.

Third-Party Libraries

Third - party library configuration.

ARCore SDK

ARCore SDK configuration.

ARCore provides motion tracking capabilities on some Android devices. You can read Motion Tracking and EasyAR Features to understand the relationship between EasyAR features and motion tracking, as well as whether and when you need to use ARCore.

  • AR Foundation Or Optional: The ARCore SDK distributed with EasyAR or AR Foundation will be included in the application, depending on the settings of the ARCore XR Plugin. In general, it is recommended to use this option, which will automatically handle the situation of AR Foundation.
  • Optional: The ARCore feature can be used on devices that support ARCore and have Google Play Services for AR installed.
  • Required: The application will only run on devices that support ARCore and have Google Play Services for AR installed.
  • External: If you are using AR Foundation or other ARCore SDK distributions, you can use this option. In this way, the ARCore SDK distributed with EasyAR will not be used. You can also use this option to completely exclude the use of the ARCore SDK in the application.
Caution

If you set ARCore SDK to Required, or set Requirement to Required in the ARCore configuration of AR Foundation, and install the packaged application on a device that does not support ARCore, the device will incorrectly report that ARCore is available and run with ARCore. This will create an illusion that these devices are running ARCore and not working properly (black screen or other abnormal situations), but this is incorrect.

The reason for this phenomenon is that the Google Play Store prevents applications marked with ARCore as required from being installed on unsupported devices, so these applications always assume that they are running on supported devices.

Under normal configuration, these devices will determine that ARCore is not supported during session assembly and use the functions of EasyAR.

For detailed instructions on Optional and Required and other configurations required for applications launched on the Google Play Store, you can refer to Google's instructions (China, International).

Note

In the EasyAR Sense Unity Plugin, the library files and configurations required for ARCore support are already in the plugin package, but to run on the phone, you still need to install Google Play Services for AR on the phone.

There are three different sources of ARCore SDK that can be used:

  • Use the ARCore SDK distributed with the plugin

    A version of the ARCore SDK is integrated in the plugin. For detailed information, you can refer to ARCore, AR Engine Version Compatibility. When using EasyAR's ARCore encapsulation, you do not need to import AR Foundation separately.

  • Use AR Foundation's ARCore SDK

    If you need to use AR Foundation's ARCore SDK, you can refer to Google's instructions (China, International) for configuration. At this time, the ARCore SDK option needs to be selected as AR Foundation Or Optional or External.

  • Use other ARCore SDKs

    If there are other third - party plugins or ARCore SDK distributions in the project, you can also use these ARCore SDKs. At this time, the ARCore SDK option needs to be selected as External, and the configuration should be carried out according to the requirements of the specific plugin or project.

Warn 32-bit-only ARCore-enabled build

According to Google's instructions, when running a program with only armv7 library files on an arm64 device, ARCore will not work properly. If ARM64 is not selected during packaging, a warning will pop up:

alt text

At this time, you need to modify the project configuration, use IL2CPP for compilation, and select ARM64 support.

alt text

Caution

If necessary, you can select Continue and don't warn me again, or turn off this option, which will turn off the check during packaging. Turning off the check only prevents the prompt from popping up during packaging, but there may be exceptions on some devices during runtime, including but not limited to crashes or black screens.

AR Engine SDK

AR Engine SDK configuration.

AR Engine provides motion tracking capabilities on some Android devices. You can read Motion Tracking and EasyAR Features to understand the relationship between EasyAR features and motion tracking, as well as whether and when you need to use AR Engine.

  • AREngineInterop: AREngineInterop is available. The AR Engine SDK distributed with EasyAR will be included in the application.
  • External: AREngineInterop is available. The AR Engine SDK distributed with EasyAR will not be used.
  • Disabled: AREngineInterop is unavailable. The AR Engine SDK distributed with EasyAR will not be used. All functions related to AR Engine will be disabled.

ONNX Runtime (Bundled)

Whether to use the bundled ONNX runtime.

If you need to use a different version of ONNX, you can obtain an updated version from the official ONNX and turn off this option. Using an ONNX with a self - compiled binary that is not compatible will lead to unknown errors.

Workaround For Unity

Solutions for Unity bugs or unreasonable behaviors.

GenerateXMLDoc

Generates XML documentation during script reload to enable API doc intelliSense.

URP17RG_DX11_RuinedScene

Workaround for URP 17 Render Graph DX11 scene rendering corruption. Disabled in Unity 6.2+.

URP17RG_IOS_Glitches_Partial

Partial workaround for Unity Issue UUM-87787.

Issue summary: When obtaining camera textures from EasyAR (as used in examples like ImageTracking_Coloring3D and ARSession workflow (CameraDevice)), visual glitches and artifacts are observed on iOS/Mac devices. We have reproduced this issue in a pure Unity package and reported it to Unity: Glitches on iOS with AR Camera Image Rendering (URP 17 render graph). Track progress via Unity Issue UUM-87787 and future Unity release notes.