EasyAR Sense Unity Plugin release notes
We are pleased to announce the release of EasyAR Sense Unity Plugin 4000. This release marks that EasyAR has a comprehensive API and up-to-date device support, and new version releases will be more frequent than before.
Download EasyAR Sense Unity Plugin 4000 to enjoy these new features and improvements.
Historical versions
Version 4002.0.0
Release date: 2026-05-18
- 🐛 Fixed the issue where Unity 6.4.4 Android build failed.
- 🔧 Adjusted some example code.
- ⬆️ Updated EasyAR Sense to 4.9.0
Version 4001.0.0
Release date: 2026-03-10
- 🐛 Fixed numerical issues in the pose conversion from native to Unity. This issue caused short-term pose jumps when using Mega on some devices, leading to rapid flickering or jitter of content. The fix for this issue may also resolve other similar potential issues.
- 🔧 Adjusted some interfaces of MegaTrackerFrameFilter to adapt to EasyAR Sense interface changes.
- ⬆️ Updated EasyAR Sense to 4.8.0
Version 4000.0.1
Release date: 2025-11-14
- 🐛 Fixed: Resolved the runtime
AndroidJavaExceptionexception that might be triggered in Android builds with minify enabled due to missing static methods (loadLibraries,setupActivity). This error caused EasyAR to fail to run.
Version 4000.0.0
Release date: 2025-10-20
Starting from this version, EasyAR Sense Unity Plugin will follow the Package Versioning (using Semantic Versioning) required by Unity, so the version number will differ from EasyAR Sense, and the release frequency may also be different. This version of the plugin contains the official version of EasyAR Sense 4.7.0.
EasyAR Sense Unity Plugin 4000.0.0 brings significant changes, mainly focusing on the following aspects:
Unity and AR Foundation compatibility changes
Starting from this version, EasyAR Sense Unity Plugin will only support Unity 2021.3 and later versions, and Unity 6 support has also been perfected. At the same time, AR Foundation support has been merged into the plugin package. This version will only support AR Foundation 5 and later versions, and its usage has been greatly simplified. 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 after running.
Up-to-date head-mounted display support, adding support for multiple OST/VST head-mounted displays
After years of polishing with many companies in the industry, EasyAR's support for head-mounted displays has been standardized. Now you can implement support for third-party head-mounted display devices through EasyAR Sense Unity Plugin extensions (which may require the head-mounted display manufacturer to provide some data interfaces). This version includes built-in support for Apple Vision Pro and XREAL Air2 Ultra, and supports Pico 4 Ultra Enterprise and Rokid AR Studio through the EasyAR Sense Unity Plugin extension package. At the same time, you can also obtain support extension packages for other devices from some of EasyAR's partners (such as Xrany).
Perfected Unity component interfaces, significantly optimized ARSession workflow
This version is the first version to fully encapsulate EasyAR Sense functionality through Unity components. ARSession has undergone extensive optimization and rewriting. Now you can easily implement device or feature support checks, start or stop ARSession based on specific situations to achieve runtime switching of ARSession or different AR features. At the same time, you can also use ARSessionFactory to create ARSession and related components at runtime. This version also adds inertial navigation and 3DoF camera functions, which are mainly designed for EasyAR Mega but can also be used separately.
Added multiple development and diagnostic tools
This version adds and provides brand-new EIF recording and playback functions. Although EIF recording and playback were available in previous versions, using EIF has never been easier. You can now use the diagnostic tool Session Validation Tool in the Unity Editor to directly play eif and drive your scene. Whether it is image tracking, spatial maps, or EasyAR Mega, you can restore the running effect on the device on the computer. Now you can use the runtime diagnostic panel EasyAR Diagnostics Panel in the app to easily enable eif recording, or toggle the display of key status information of ARSession and its components at any time. At the same time, the samples in this version have been completely rewritten. Running the samples allows you to directly see the ARSession status and the button to record eif for easy use.
EasyAR Mega tools fully released
This version integrates and releases Mega Studio 2.12. In the future, plugin updates will be more frequent. Unity-side Mega tools will be gradually merged into the plugin and released together with regular plugin updates. In addition to the updates in previous pre-release versions, this version will enable inertial navigation support by default, further significantly expanding the device support of EasyAR Mega. This version also includes support for the latest version of the EasyAR Mega Landmark service. You can apply for EasyAR Mega through the EasyAR website page.
Detailed update contents are 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 detection for Unity 2019
- 🔥 Removed option
DisableARCoreAREnginefor Unity 2019
- ✨ Unity 6: Full support for Unity 6
- ✨ Supports URP 17+ and Render Graph
- 🐛 Fixed: ARCore failure caused by ClassLoader behavior change in Unity 6
- 🐛 Fixed: Camera rendering failure when Render Scale is not 1
- 🐛 Unity 6 BUG: Visual glitches and artifacts are visible on iOS/Mac devices. This issue occurs only when camera texture access is required. We added partial mitigations but cannot fully resolve it. Reported to Unity, see Unity Issue UUM-87787. For Unity 6.2 and above, this can be avoided by setting Render Scale in the Universal Render Pipeline Asset to a value outside 0.96-1.05.
- 🐛 Unity 6 BUG: Rendering is not correct on Windows DX11. We added mitigations in Unity 6.0-6.1. Verified fixed in Unity 6.2.
- ✨ AR Foundation: Supports AR Foundation 5 and newer, greatly simplifying usage
- ✨ AR Foundation support is now integrated into the plugin package, no longer requires separate import (can be disabled via config option if needed)
- ✨ Supports reusing
Unity.XR.CoreUtils.XROriginas the origin for ARSession, supports reusing XROrigin's Camera - ✨ Added
Unity XR Auto Switchconfig option to handle switching Unity XR (including AR Foundation) objects by default - ✨ ARSession created via EasyAR menu automatically includes and enables AR Foundation support by default
- ✨ Most samples have added AR Foundation support (AR Foundation itself requires manual import and correct configuration)
- 🔧 ARCore and ARKit can be controlled individually, including priority between EasyAR's built-in ARCore/ARKit and AR Foundation's ARCore/ARKit
- 🔥 Removed support for AR Foundation 4
- 🔥 Removed support for ARSessionOrigin, only XROrigin is supported
- 🔥 Removed proxy for executing AR Foundation's ARCore installation flow
- ✨ Fully compatible with input system package
Up-to-date headset support, added support for multiple OST/VST headsets:
- 🚀 Head-mounted display interface is stable, supporting third-party access
- ✨ Support third-party device access (requires headset manufacturers to provide specific data interfaces)
- ✨ Support XROrigin and XR Interaction Toolkit
- ✨ Simplified and unified all headset samples, zero code, and support feature switching
- ✨ Support fisheye camera input
- ✨ Support custom camera input 3DOF data
- ✨ Added menu function: Extensions, consolidating all extension menu items
- 🐛 Fixed rendering anomalies when running DenseSpatialMap on some headsets
- 🔥 Removed legacy glasses samples like ActionOne and BT350
- ✨ Built-in support for Apple Vision Pro
- ✨ Support Metal, RealityKit, and Hybrid modes
- ✨ Support visionOS >= 2.0, support visionOS 26®
- ✨ Built-in support for XREAL Air2 Ultra (requires XREAL SDK >= 3.1)
- ✨ No longer need to import a separate support package
- ⚡ Optimized performance on XREAL
- 🔥 Removed XREAL Light support
- ✨ Distribute support for other devices like Pico and Rokid via EasyAR Sense Unity Plugin extensions
- ✨ Provide a reference template
com.easyar.sense.ext.hmdtemplatefor third-party device integration - ✨ Support Pico 4 Ultra Enterprise (requires PICO Unity Integration SDK >= 3.1)
- ✨ Support Rokid AR Studio (requires Rokid Unity OpenXR Plugin >= 3.0.3)
- ✨ These extensions will support multiple future versions of EasyAR Sense Unity Plugin
- ✨ Provide a reference template
- ✨ Support EasyAR XR License
- 🔧 Using EasyAR on headsets requires an EasyAR XR License and initial internet connection (trial requires connection each time)
Improve Unity component interfaces, greatly optimize ARSession workflow:
- 🚀 Enhance Unity component-level encapsulation
- ✨ Improve scene components to provide all EasyAR Sense functionalities
- 🔥 Remove all EasyAR Sense layer interfaces wrapped via components
- 🔥 Remove all internal interfaces
- ✨ ARSession: Rewritten with significantly optimized workflow
- ✨ Support starting and stopping sessions at any time
- ✨ Support automatic session startup control
- ✨ Support switching session functions and input sources without black screen
- ✨ Simplify device capability checks, provided through a unified interface
- ✨ Update device support lists for MotionTracker, ARCore, and AR Engine during startup
- ✨ Support automatic session restart after device list updates
- ✨ Support obtaining detailed session failure information
- ✨ Add session internal state self-check
- 🔥 Remove ARComponentPicker, its functionality replaced by other session workflows
- 🔥 Prevent multiple ARSessions from running simultaneously
- ✨ ARSessionFactory: Provide runtime creation of ARSession and related components
- ✨ Support creating sessions at runtime via ARSessionFactory identical to editor menus
- ✨ Add Frame Source sorting functionality (includes menu item)
- ✨ FrameSource: Add inertial navigation (INS) and 3DoF support
- ✨ Add
InertialCameraDeviceFrameSourceto support inertial navigation - ✨ Add
ThreeDofCameraDeviceFrameSourceto support 3DoF camera - ✨ Add menu function:
Frame Source by Transform Type, providing a list of all built-in FrameSources - ⚡ Optimize Inspector options
- ✨ Add
- ✨ Other interface adjustments and feature updates
- ✨ Add functionality to create ImageTarget using Texture2D
- ✨ Add
ImageMaterialfor rendering image-type data (camera feed, Target image, etc.) - ✨ Add
ActiveControllerto control GameObject active state, unifying related control logic - ✨ Add functionality to simulate screen rotation on desktop
- ✨ Add
XROriginChildControllerto control behavior of objects under Session origin - 🔥 Remove
WorldRootController - 🔧 Split Sparse Spatial Map interface into separate functional components: Builder and Tracker
- 🔧 Adjust
EasyARControllerto provide application/system-level static functions - 🔧 Unify Target component interfaces
- 🔧 Unify interfaces for services to access data
Added multiple development and diagnostic tools:
- 🚀 Added editing-time diagnostic tool: Session Validation Tool
- ✨ Simplifies playing eif in any scenario
- ✨ Supports controlling eif playback flow
- ✨ Supports controlling session flow
- 🚀 Added runtime diagnostics panel: EasyAR Diagnostics Panel
- ✨ Added Developer Mode toggle. By default, tap the screen 8 times to enable/disable the Diagnostics Panel, simplifying eif recording and issue feedback for online apps
- ✨ Supports custom Developer Mode toggle, enabling/disabling the Diagnostics Panel using custom interactions
- ✨ Supports controlling eif recording
- ✨ Supports controlling session information display
- ✨ Supports controlling eed recording
- ✨ Added brand-new EIF recording and playback functionality
- ✨ FrameRecorder is automatically assembled into ARSession, eliminating the need for manual selection
- ✨ FrameRecorder defaults to automatically generating filenames to support scriptless usage
- ✨ FramePlayer supports seeking and speed adjustment for data recorded in the new format, with reduced file size
- 🔧 Supports driving scenes and AR features using eif on PC (Not a new feature)
- ✨ Added DiagnosticsController to unify and optimize diagnostic functionality
- ✨ Added hierarchical information display and control; by default, all error and warning messages are displayed via UI
- ✨ Added functionality to display key status information of ARSession and its components; by default, shown via UI and updated every frame
- 🔧 Uses diagnostic features to simplify gathering issue feedback information
- 🔥 Removed GUIPopup
- 🔧 Optimized abnormal state behavior and error message display
- 🔧 Optimized error messages when no frame source is available
- 🔧 In URP environments using EasyAR (not AR Foundation or headset rendering) for camera images, an error is thrown and ARSession execution is interrupted if RendererFeature is not properly configured
- 🔧 Modified the default Active control strategy for Origin; content sticks to the screen rather than disappearing when tracking is lost
- 🔧 When using trial products on custom cameras or headsets, all content is hidden upon reaching the time limit to avoid misjudging effects
- 🔧 Optimized configuration page content and options
- ✨ Supports selecting variants of the EasyAR Sense library
- 🔒 Application permission section: except for camera permissions, other permissions are no longer editable and are determined by the EasyAR Sense library variant and whether Mega is enabled
- 🔧 Features and server configurations are grouped by EasyAR functionality
- 🔧 Centralized management of third-party AR SDK configurations
- 🔧 Centralized management of Workaround configurations for Unity
EasyAR Mega Tools Fully Public:
- 🚀 Fully public, synchronized updates
- ✨ Integrated release of Mega Studio 2.12
- 🔧 The Unity-side Mega tools will gradually be merged into the plugin. Future releases will only provide the latest integrated package, merged with regular updates of the EasyAR Sense Unity Plugin
- 🔧 EasyAR Mega still requires application and approval via the EasyAR website page before use
- ✨ Added support for easyar mega landmark
- ✨ Added support for 5DOF inertial navigation (enabled by default), significantly expanding device compatibility for EasyAR Mega
- ✨ Added support for accessing Mega services using API token
- 🔧 Optimized Mega performance and development experience (included in past 4.7.x updates)
- ✨ Support for 3DOF pure rotation mode and 0DOF mode (disabled by default)
- ✨ Added EditorCameraDeviceFrameSource for editor diagnostics, preventing incorrect mobile execution due to incomplete sample copying
- ✨ When recording legacy eif data using Mega, FrameRecorder will automatically generate .eif.json files
- 🔧 Replaced remote debugging fallback options with LocationInputMode
- 🔧 Split no-tracking mode into a standalone component; typically no longer requires attention
- 🔧 Added BlockRootSource option; forgetting to set BlockRoot in default configuration will now throw an error
- 🔧 Adjusted default behavior when locating multiple blocks to ensure multiple blocks aren't used by default
- 🔧 Modified some interface names
- 🔧 Throws clearer exceptions when Session includes Mega but cannot be used
- 🔧 Adjusted the minimum QualityLevel for Mega-supported MotionTracker to Limited
- 🐛 Fixed CloudLocalizerStatus.WakingUp state not being correctly escaped, causing runtime errors
- 🔧 For other optimizations and changes, refer to the EasyAR Sense update log
Sample Rewriting and Optimization:
- ✨ Rewrite all samples
- ✨ Compatible with different Input System configurations
- ✨ Compatible with URP17+
- ✨ Compatible with using AR Foundation
- 🔧 Compatible without using AR Foundation
- 🔧 Retain a few samples without AR Foundation support
- ⚡ Optimize scripts and interface calls
- 🚚 Some samples have been renamed
- 🔧 Replace models, videos, and other resources within samples
- ⚡ Reduce usage of streaming assets, importing only in samples showcasing specific features
- ✨ Create ImageTarget using Texture2D
- ✨ Add new features and interface demonstrations
- ✨ Add Workflow_ARSession sample for learning session basics and device support
- ✨ Add Workflow_FrameSource_ExternalImageStream sample, using video as a custom camera (not for head-mounted displays)
- ✨ Add Combination_BasedOn_MotionTracking sample for learning feature usage, switching, and AR Foundation switching when motion tracking is available
- ✨ Add Combination_BasedOn_AppleVisionPro sample to demonstrate feature usage and switching on Apple Vision Pro
- ✨ Add Combination_BasedOn_Xreal sample to demonstrate feature usage and switching on XREAL devices
- ✨ Add multiple Mega samples (included in past 4.7.x updates)
- ✨ Add functionality to switch camera resolution and torch mode in Workflow_FrameSource_CameraDevice
- 🔥 Remove standalone AR Foundation samples, as their functionality is included in others
- 🔥 Remove FrameRecording sample, its functionality is included elsewhere
- 🔥 Remove MotionTracking_Fusion sample, its functionality is in Combination_BasedOn_MotionTracking
- 🔥 Remove SurfaceTracking_ImageTarget sample, feature combinations can still easily achieve this
- 🔥 Remove Camera_CustomCamera sample, can still be implemented if needed
- 🔥 Remove ancient glasses samples like ActionOne and BT350
- ✨ Simplify eif recording and playback usage
- ✨ Add eif recording button to all samples; recorded eif files can be used within the editor
- ✨ Rewrite launcher, add sample descriptions
- 🐛 Fix issue where scenes loaded via launcher appeared too dark
EasyAR and Third-Party AR Feature Integration:
- ⬆️ Update EasyAR Sense to official version 4.7.0
- ⬆️ Update EasyAR AR Engine Interop
- ⬆️ Update ARCore SDK to 1.46.0
- 🔧 Disable AR Engine on phones where it cannot run reasonably
- 🐛 Fix ARCore failure caused by ClassLoader behavior change in Unity 6