EasyAR Sense Unity Plugin Release Notes
We are pleased to announce the release of EasyAR Sense Unity Plugin 4000. This version marks that EasyAR has a complete API and up-to-date device support. Meanwhile, new versions will be released more frequently than before.
Download EasyAR Sense Unity Plugin 4000 to enjoy these new features and improvements.
Historical Versions
Version 4003.0.0
Release Date: 2026-07-01
- 🚀 Brand-new Mega development process
- ✨ The Mega function interface and development process are closer to traditional AR functions such as image tracking.
- ✨ Added the MegaBlockController component to replace the node group previously generated by Mega Studio.
- ✨ The session verification tool supports more practical Mega control options.
- ✨ Use the global configuration switch to control the enablement of the Mega function.
- 💥 The runtime no longer has a mandatory dependency on
com.easyar.mega.com.easyar.megawill only provide editor and ema functions. - 🔥 Removed the multi-block configuration option and the block root node. Blocks are independent of each other.
- 🔥 Removed the editor test area of MegaTrackerFrameFilter. This function is completely replaced by the session verification tool.
- 🐛 Fixed the problem of a dark scene when using the sample in Unity versions above 6.
- 🐛 Fixed some script compilation errors in the Unity 6.4 URP environment.
- 🐛 Fixed the issue that the advanced option modifications of MotionTrackerFrameFilter in the editor cannot be saved.
- ⬆️ Updated the EasyAR Mega support package to 2.13.0
- 🚚 Split the original
com.easyar.megainto two packages, namelycom.easyar.mega(Mega support package) andcom.easyar.mega.studio(Mega Studio). Mega Studio no longer supports Unity development. - 🚚 Moved some interfaces from the EasyAR.Mega.Scene namespace to the EasyAR.Mega namespace.
- ✨ Supported the Mega international service.
- ✨ Supported the panoramic preview function in the editor play mode.
- ✨ Supported viewing block data in the prefab view.
- ✨ Allowed blocks to rotate freely in the editor.
- ✨ Forced to display the mesh boundary gizmo when loading fails.
- 🔥 Removed support for block data generated by the mapping service version 9.3 and earlier.
- 🔥 Removed support for the positioning service version 2.0 and earlier.
- 🔥 Removed support for ema 0.3 - 0.4.
- 🔥 Removed support for annotation nodes in the scene.
- 🚚 Split the original
- ⬆️ Updated EasyAR Sense Unity Plugin Extensions to 4000.0.1
- 🔧 Adjusted the Mega components in the sample scene.
Version 4002.0.0
Release Date: 2026-05-18
- 🐛 Fixed the problem of failed Android packaging in Unity 6.4.4.
- 🔧 Adjusted some sample code.
- ⬆️ Updated EasyAR Sense to 4.9.0
Version 4001.0.0
Release Date: 2026-03-10
- 🐛 Fixed the numerical problem in the pose conversion from native to Unity. This problem could cause short-term pose jumps when using Mega on some devices, resulting in rapid flickering or jittering of the content. Fixing this problem may also solve other similar potential issues.
- 🔧 Adjusted some interfaces of MegaTrackerFrameFilter to adapt to the interface changes of EasyAR Sense.
- ⬆️ Updated EasyAR Sense to 4.8.0
Version 4000.0.1
Release Date: 2025-11-14
- 🐛 Fixed: Solved the possible runtime
AndroidJavaExceptioncaused by the lack of static methods (loadLibraries,setupActivity) in the Android build with minify packaging enabled. This error could prevent EasyAR from running.
Version 4000.0.0
Release Date: 2025-10-20
Starting from this version, EasyAR Sense Unity Plugin will follow the package version control (using Semantic Versioning) required by Unity. Therefore, the version number will be different from that of EasyAR Sense, and the release frequency may also vary. This version of the plugin includes the official version of EasyAR Sense 4.7.0.
EasyAR Sense Unity Plugin 4000.0.0 has undergone significant changes, mainly concentrated in the following aspects:
Changes in Unity and AR Foundation compatibility
Starting from this version, EasyAR Sense Unity Plugin will only support Unity 2021.3 and later versions. Support for Unity 6 has also been improved. Meanwhile, AR Foundation support has been integrated 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 headset support, with new support for multiple OST/VST headsets
After years of polishing with multiple enterprises in the industry, EasyAR's support for headsets has been standardized. Now you can implement support for third-party headset devices through the EasyAR Sense Unity Plugin extension (the headset manufacturer may need to provide some data interfaces). This version has built-in support for Apple Vision Pro and XREAL Air2 Ultra. Meanwhile, it supports Pico 4 Ultra Enterprise and Rokid AR Studio through the EasyAR Sense Unity Plugin extension package. You can also obtain support extension packages for other devices from some of EasyAR's partners (such as Xrany).
Improved Unity component interfaces and significantly optimized the ARSession workflow
This is the first version that fully encapsulates EasyAR Sense functions through Unity components. ARSession has been greatly optimized and rewritten. Now you can easily determine the support for devices or functions and start or stop ARSession according to specific situations to switch ARSession or different AR functions at runtime. Meanwhile, you can also use ARSessionFactory to create ARSession and related components at runtime. This version also adds inertial navigation and 3DoF camera functions. These functions are mainly designed for EasyAR Mega but can also be used independently.
Added multiple development and diagnostic tools
This version adds a brand-new EIF recording and playback function. Although EIF recording and playback were also available in previous versions, using EIF has never been so easy. Now you can use the diagnostic tool Session Validaion Tool in the Unity editor to directly play eif and drive your scene. Whether it's image tracking, spatial mapping, or EasyAR Mega, you can reproduce the running effect on the device on your computer. Now you can use the runtime diagnostic panel EasyAR Diagnostics Panel to easily enable the eif recording function in the app or switch the display of key status information of ARSession and its components at any time. Meanwhile, all the samples in this version have been rewritten. You can directly see the ARSession status and the button for recording eif when running the sample for easy use.
EasyAR Mega tools are fully open
This version integrates and releases Mega Studio 2.12. In the future, the plugin will be updated more frequently. The Mega tools on the Unity side will be gradually integrated into the plugin and released together with the regular plugin updates. In addition to the updates in the previous pre-release versions, this version will enable inertial navigation support by default, further greatly 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 using EasyAR Mega through the EasyAR website page.
The 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 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