EasyAR Settings¶
The EasyAR configuration page can be accessed from the Unity menu EasyAR > Sense > Configuration or Edit > Project Settings > EasyAR.
This page contains all global configuration options for EasyAR Sense Unity Plugin.
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:
UIMessage Output > Sense Error:
UIAndLogMessage Output > Session Error:
UIAndLogMessage Output > Error:
UIAndLogMessage Output > Warning:
UIAndLogDeveloper Mode Switch:
DefaultSession 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:
NoneMessage Output > Sense Error:
LogMessage Output > Session Error:
LogMessage Output > Error:
LogMessage Output > Warning:
LogDeveloper Mode Switch:
DefaultorCustom
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 |
|---|---|---|---|
|
Community/Enterprise |
No video recording or inertial navigation |
|
|
CommunityFull/EnterpriseFull |
Includes inertial navigation and some extra Mega features |
Larger library file size |
|
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 importedFull: When EasyAR Mega support package imported
Recommended configuration:
Full: Use EasyAR Mega or inertial navigation featuresNormal: Minimize package size and do not use EasyAR Mega or inertial navigationVideoRecording: 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 |
|---|---|---|---|
|
Yes |
Camera permission. Required for using camera device |
|
|
No |
Variant is VideoRecording |
Microphone permission. Required for video recording |
|
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 optionsDisable AR Session: In edit mode, disable ARSession of AR Foundation when ARSession exists.
PlayerPlay mode optionsEnable: 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 requireInitialize XR on Startupof 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 whenInitialize XR on Startupof 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.
Enable Image File: Enable ImageTargetController.Source target Gizmos of type ImageTargetController.ImageFileSourceData.Enable Target Data File: Enable ImageTargetController.Source target Gizmos of type ImageTargetController.TargetDataFileSourceData.Enable Target: Enable ImageTargetController.Source target Gizmos of type ImageTargetController.TargetSourceData.Enable Texture 2D: Enable ImageTargetController.Source target Gizmos of type ImageTargetController.Texture2DSourceData.
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 handleAR Foundationautomatically.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 usingAR Foundationor 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 Pluginused byAR Foundation. But we are not exporting rich features fromARCore. 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 SDKoption require to beAR Foundation Or OptionalorExternalin 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 SDKoption require to beExternalin 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,
Change project settings to fix this, use IL2CPP for build and select ARM64.
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.