4000.0.0¶
2025-10-20
Starting from this version, EasyAR Sense Unity Plugin will follow Unity’s required package versioning (using Semantic Versioning), so the version number will differ from EasyAR Sense, and the release frequency may also be different. This version of the plugin includes EasyAR Sense 4.7.0 final release.
EasyAR Sense Unity Plugin 4000.0.0 brings major changes, mainly focused on the following aspects:
Unity and AR Foundation Compatibility Changes
From this version, EasyAR Sense Unity Plugin only supports Unity 2021.3 and newer versions, with full support for Unity 6. AR Foundation support is now integrated into the plugin package, and this version only supports AR Foundation 5 and above, with greatly simplified usage. If AR Foundation components are added to the scene, the scene configuration and script code can remain unchanged regardless of whether AR Foundation is ultimately used at runtime.
Up-to-date Headset Support, New Support for Multiple OST/VST Headsets
After years of collaboration with many industry partners, EasyAR’s headset support has been standardized. Now you can extend EasyAR Sense Unity Plugin to support third-party headset devices (may require data interfaces provided by headset manufacturers). This version has built-in support for Apple Vision Pro and XREAL Air2 Ultra, and supports Pico 4 Ultra Enterprise and Rokid AR Studio through EasyAR Sense Unity Plugin extension packages. You can also obtain support extension packages for other devices from some of EasyAR’s partners (such as Xrany).
Improved Unity Component Interfaces, Greatly Optimized ARSession Workflow
This is the first version to fully encapsulate EasyAR Sense features through Unity components. ARSession has been heavily optimized and rewritten, allowing you to easily check device or feature support, start or stop ARSession as needed, and switch ARSession or AR features at runtime. You can also use ARSessionFactory to create ARSession and related components at runtime. This version adds inertial navigation and 3DoF camera features, mainly designed for EasyAR Mega but also available for standalone use.
New Development and Diagnostic Tools
This version introduces brand new EIF recording and playback features. Although EIF recording and playback were available in previous versions, using EIF has never been easier. You can now use the Session Validation Tool in the Unity Editor to directly play eif files and drive your scene, whether it’s image tracking, spatial mapping, or EasyAR Mega, reproducing device effects on your computer. The runtime diagnostic panel EasyAR Diagnostics Panel allows you to easily enable eif recording in your app or toggle key ARSession and component status displays at any time. All samples have been rewritten, and you can directly see ARSession status and eif recording buttons when running samples for convenience.
Full Release of EasyAR Mega Tools
This version integrates and releases Mega Studio 2.12. Future plugin updates will be more frequent, and Mega tools on Unity will gradually be merged into the plugin and released together with regular plugin updates. In addition to updates from previous pre-release versions, this version enables inertial navigation support by default, greatly expanding EasyAR Mega’s device support. It also includes support for the latest version of EasyAR Mega Landmark service. You can apply for EasyAR Mega via the EasyAR website.
Detailed update content is as follows:
Unity and AR Foundation Compatibility Changes¶
* Unity: Supports Unity 2021.3 and newer (including Unity 2022.x/Unity 6.x)- Removed support for Unity 2019/Unity 2020- Removed gradle version check for Unity 2019- Removed DisableARCoreAREngine option for Unity 2019+ Unity 6: Full support for Unity 6+ Supports URP 17+ and Render Graph* Fixed: ARCore failure due to ClassLoader behavior changes in Unity 6* Fixed: Camera rendering failure when Render Scale is not 1* Unity 6 internal issue: Visual artifacts on iOS/Mac devices when rendering camera feed to a texture. This issue only occurs when camera textures need to be accessed. Partial mitigation added, but cannot be fully resolved. Reported to Unity, see Unity Issue UUM-87787. In Unity 6.2 and above, this issue can be avoided by setting the Render Scale in the Universal Render Pipeline Asset to a value outside the range of 0.96 to 1.05.* Unity 6 internal issue: Rendering issues on Windows DX11. Mitigation added for Unity 6.0-6.1. Verified through our testing: Unity 6.2 has resolved this issue.+ AR Foundation: Supports AR Foundation 5 and above, greatly simplified usage+ AR Foundation support is integrated into the plugin, no need to import package separately (can be disabled via config if needed)+ Supports reusingUnity.XR.CoreUtils.XROriginas ARSession origin and reusing its camera+ AddedUnity XR Auto Switchconfig option, handles Unity XR (including AR Foundation) object switching by default+ ARSession created via EasyAR menu automatically includes and enables AR Foundation support+ Most samples now include AR Foundation support (AR Foundation itself still needs to be imported and configured)* ARCore and ARKit can be controlled separately, and priority between EasyAR built-in ARCore/ARKit and AR Foundation’s ARCore/ARKit can be set- Removed support for AR Foundation 4- Removed support for ARSessionOrigin, only supports XROrigin- Removed proxy execution of AR Foundation’s ARCore installation process+ Fully compatible with Input System Package
Up-to-date Headset Support, New Support for Multiple OST/VST Headsets¶
++ Head-mounted display interface stabilized, supports third-party integration+ Supports third-party device integration (requires specific data interfaces from manufacturers)+ Supports XROrigin and XR Interaction Toolkit+ Simplified and unified all headset samples, zero code, supports feature switching+ Supports fisheye camera input+ Supports custom camera input 3DOF data+ Added menu function: Extensions, integrates all extension menu items* Fixed rendering issues when running DenseSpatialMap on some headsets- Removed old samples for ActionOne and BT350 glasses+ Built-in support for Apple Vision Pro+ Supports Metal, RealityKit, and Hybrid modes+ Supports visionOS >= 2.0, visionOS 26+ Built-in support for XREAL Air2 Ultra (requires XREAL SDK >= 3.1)+ No need to import separate support package+ Optimized performance on XREAL devices- Removed support for XREAL Light+ Supports Pico and Rokid devices via EasyAR Sense Unity Plugin extensions+ Provides reference template for third-party device integrationcom.easyar.sense.ext.hmdtemplate+ Supports Pico 4 Ultra Enterprise (requires PICO Unity Integration SDK >= 3.1)+ Supports Rokid AR Studio (requires Rokid Unity OpenXR Plugin >= 3.0.3)+ These extensions will support multiple future versions of EasyAR Sense Unity Plugin+ Supports EasyAR XR License* Using EasyAR on headsets require EasyAR XR License and must be connected to the internet for first use (trial requires connection each time)
Improved Unity Component Interfaces, Greatly Optimized ARSession Workflow¶
++ Improved Unity component encapsulation+ Improved scene components, providing all EasyAR Sense features- Removed all EasyAR Sense layer interfaces encapsulated by components- Removed all internal interfaces+ ARSession: Rewritten and greatly optimized workflow+ Supports starting and stopping session at any time+ Supports automatic session start control+ Supports switching session features and input sources without black screen+ Simplified device support checking, unified interface+ Updates device support list for MotionTracker, ARCore, AREngine at startup+ Supports automatic session restart after device list update+ Supports detailed session corruption info retrieval+ Added internal session self-check- Removed ARComponentPicker, replaced by other session processes- Prohibits multiple ARSessions running simultaneously+ ARSessionFactory: Provides runtime creation of ARSession and related components+ Supports runtime creation of sessions identical to those created via editor menu+ Added Frame Source sorting functions (including menu items)+ FrameSource: Added inertial navigation and 3DoF support+ Added InertialCameraDeviceFrameSource for inertial navigation+ Added ThreeDofCameraDeviceFrameSource for 3DoF camera support+ Added menu function: Frame Source by Transform Type, lists all built-in FrameSources* Optimized Inspector options+ Other interface adjustments and feature updates+ Added support for creating ImageTarget using Texture2D+ Added ImageMaterial for rendering Image-type data (camera image or Target image, etc.)+ Added ActiveController for controlling GameObject active state, unifying related logic+ Added desktop screen rotation simulation+ Added XROriginChildController to control objects under Session origin- Removed WorldRootController* Adjusted EasyARController to provide app/system-level static features* Unified Target component interfaces* Unified service access data interfaces
New Development and Diagnostic Tools¶
++ Added editor diagnostic tool: Session Validation Tool+ Simplified eif playback in any scene+ Supports controlling eif playback process+ Supports controlling session flow++ Added runtime diagnostic panel: EasyAR Diagnostics Panel+ Added Developer Mode switch, default: tap screen 8 times to toggle Diagnostics Panel, simplifying eif recording and issue feedback in production apps+ Supports custom Developer Mode switch, custom interaction to toggle Diagnostics Panel+ Supports eif recording control+ Supports session info display control+ Supports eed recording control+ Added brand new EIF recording and playback features+ FrameRecorder is automatically assembled into ARSession, no manual selection needed+ FrameRecorder auto-generates filenames for scriptless use+ FramePlayer supports playback seek and speed adjustment for new format data, reduced file size* Supports using eif to drive scenes and AR features on PC (not new)+ Added DiagnosticsController, unifies and optimizes diagnostic features+ Added info level display and control, all errors and warnings are shown via UI by default+ Added key ARSession and component status info display, shown via UI and updated every frame by default* Simplified issue feedback info retrieval with diagnostic features- Removed GUIPopup* Optimized abnormal state behavior and error info display* Optimized error info when no available frame source* In URP when camera image is rendering by EasyAR instead of AR Foundation or headsets, if RendererFeature is not properly configured, error is reported and ARSession execution is interrupted* Changed default Active control strategy for Origin: content sticks to screen instead of disappearing when tracking is lost* On custom camera or headset using trial product, content is hidden after time limit to avoid misjudgment of effect* Optimized settings page content and options+ Supports selecting EasyAR Sense library variants* Except for camera permission, other app permissions are no longer configurable, determined by EasyAR Sense library variant and Mega enablement* Features and server configs grouped by EasyAR features* Centralized management of third-party AR SDK configs* Centralized management of Unity-specific workaround configs
Full Release of EasyAR Mega Tools¶
++ Fully released, updated in sync+ Integrated release of Mega Studio 2.12* Mega tools on Unity will gradually be merged into the plugin; only the latest integrated package will be provided, released together with regular plugin updates* EasyAR Mega still requires application and approval via EasyAR website+ Added support for EasyAR Mega Landmark+ Added support for 5DOF inertial navigation, enabled by default, greatly expanding device support+ Added support for using API Token to access Mega services* Optimized Mega effects and development experience (including updates from previous 4.7.x versions)+ Supports 3DOF pure rotation mode and 0DOF mode (disabled by default)+ Added EditorCameraDeviceFrameSource for editor diagnostics, avoids errors on mobile due to incomplete sample copy+ When using Mega, recording old version eif data, FrameRecorder auto-generates .eif.json file* Replaced remote debug fallback option with LocationInputMode* Split no-tracking mode into independent component, usually no longer needed* Added BlockRootSource option, error reported if BlockRoot not set by default* Adjusted default behavior when locating multiple blocks, ensures multiple blocks are not used by default* Adjusted some interface names* Throws clearer exception when Mega is included in session but cannot be used* Adjusted minimum QualityLevel for Mega-supported MotionTracker to Limited* Fixed CloudLocalizerStatus.WakingUp state not properly converted, causing runtime error* Other optimizations and changes, see EasyAR Sense release notes
Sample Rewrite and Optimization¶
+ Rewrote all samples+ Compatible with different Input System configurations+ Compatible with URP17++ Compatible with AR Foundation* Compatible without AR Foundation* Retained a few samples without AR Foundation support* Optimized scripts and interface calls* Some samples renamed* Replaced sample models and video resources* Reduced use of streaming assets, only used and imported in samples demonstrating specific features* Used Texture2D to create ImageTarget+ Added new feature and interface demos+ Added Workflow_ARSession sample to demonstrate session basics and device support+ Added Workflow_FrameSource_ExternalImageStream sample, uses video as custom camera (not for headsets)+ Added the Combination_BasedOn_MotionTracking sample to demonstrate how to use and switch between various features, including transitioning to AR Foundation when motion tracking is available+ Added Combination_BasedOn_AppleVisionPro sample to demonstrate how to use and switch between various features on Apple Vision Pro+ Added Combination_BasedOn_Xreal sample to demonstrate how to use and switch between various features on XREAL devices+ Added multiple Mega samples (included in previous 4.7.x updates)+ Added camera size and torch mode switching in Workflow_FrameSource_CameraDevice sample- Removed standalone AR Foundation sample, features now included in other samples- Removed FrameRecording sample, features now included in other samples- Removed MotionTracking_Fusion sample, features now included in Combination_BasedOn_MotionTracking- Removed SurfaceTracking_ImageTarget sample, feature combinations still easily achievable- Removed Camera_CustomCamera sample, can still be implemented if needed- Removed old samples for ActionOne and BT350 glasses+ Simplified eif recording and playback usage+ All samples now have eif recording button, recorded eif files can be used in editor+ Rewrote launcher, added sample descriptions* Fixed issue where samples loaded via launcher appeared too dark
EasyAR and Third-party AR Feature Integration¶
* Updated EasyAR Sense to 4.7.0 final release* Updated EasyAR AREngine Interop* Updated ARCore SDK to 1.46.0* Disabled AREngine on some phones where it cannot run properly* Fixed ARCore failure due to ClassLoader behavior changes in Unity 6