Table of Contents

EasyAR Sense Unity Plugin release notes

We are pleased to announce the EasyAR Sense Unity Plugin 4000 release. This version marks EasyAR's achievement of a well-established API and up-to-date device support, while future releases will be more frequent than ever.

Download EasyAR Sense Unity Plugin 4000 to enjoy these new features and improvements.

Historical versions

Version 4000.0.1

Release date: November 14, 2025

  • 🐛 Fix: Resolved a potential runtime AndroidJavaException in Android builds with minify enabled. This error, caused by missing static methods (loadLibraries, setupActivity), could prevent EasyAR from functioning.

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. Therefore, the version number will differ from EasyAR Sense, and the release frequency may also vary. This version of the plugin includes EasyAR Sense 4.7.0 official release.

EasyAR Sense Unity Plugin 4000.0.0 brings significant changes, primarily focused on these areas:

  1. Unity and AR Foundation compatibility changes

    Starting from this version, EasyAR Sense Unity Plugin will only support Unity 2021.3 and newer versions. Unity 6 support has also been completed. Meanwhile, AR Foundation support has been merged into the plugin package. This version will only support AR Foundation 5 and newer versions, with its usage greatly simplified. If AR Foundation components are added to a scene, the scene configuration and script code can remain unchanged regardless of whether AR Foundation is ultimately used during runtime.

  2. Timely headset support, adding compatibility with multiple OST/VST headsets

    After years of refinement with industry partners, EasyAR's headset support has been standardized. You can now extend EasyAR Sense Unity Plugin to support third-party headset devices (may require partial data interfaces from headset manufacturers). This version natively supports Apple Vision Pro and XREAL Air2 Ultra, while also supporting 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).

  3. Improve unity component interfaces, significantly optimize ARSession workflow

    This is the first version to fully encapsulate EasyAR Sense functionality through Unity components. ARSession has undergone extensive optimization and rewriting. You can now easily determine device or feature support, and start or stop ARSession based on specific conditions to achieve runtime switching between ARSession or different AR features. Additionally, you can use ARSessionFactory to create ARSession and related components at runtime. This version also adds inertial navigation and 3DoF camera features, primarily designed for EasyAR Mega but also usable independently.

  4. Add multiple development and diagnostic tools

    This version introduces brand-new EIF recording and playback functionality. While EIF recording and playback were available in previous versions, using EIF has never been this simple. You can now directly play .eif files in the Unity Editor using the Session Validation Tool diagnostic tool to drive your scene, whether it's image tracking, spatial mapping, or EasyAR Mega, reproducing device runtime effects on your computer. You can now use the runtime diagnostic panel EasyAR Diagnostics Panel to easily enable eif recording within your app, or toggle the display of key status information for ARSession and its components anytime. Meanwhile, all samples in this version have been rewritten; running samples will directly show ARSession status and an eif recording button for convenience.

  5. Full public release of EasyAR Mega tools

    This version integrates and releases Mega Studio 2.12. Future plugin updates will be more frequent, and Unity-side Mega tools will gradually merge into the plugin package and be released alongside regular plugin updates. Beyond updates from past pre-release versions, this version enables inertial navigation support by default, further expanding EasyAR Mega device compatibility significantly. It also includes support for the latest EasyAR Mega Landmark service. Apply for EasyAR Mega usage through the EasyAR website page.

Detailed updates are as follows:

Compatibility changes for unity and ar foundation:

  • 🔧 Unity: Supports Unity 2021.3 and newer versions (including Unity 2022.x/Unity 6.x)
    • 🔥 Removed support for Unity 2019/Unity 2020
    • 🔥 Removed gradle version detection for Unity 2019
    • 🔥 Removed the DisableARCoreAREngine option for Unity 2019
  • ✨ Unity 6: Full support for Unity 6
    • ✨ Supports URP 17+ and Render Graph
    • 🐛 Fixed: ARCore failure caused by ClassLoader behavior changes in Unity 6
    • 🐛 Fixed: Camera rendering failure when Render Scale is not 1
    • 🐛 Unity 6 native BUG: Visual glitches and artifacts observed on iOS/Mac devices. This occurs only when accessing camera textures. Partial mitigations added but not fully resolved. Reported to Unity, see Unity Issue UUM-87787. For Unity 6.2+, set Render Scale outside 0.96-1.05 in Universal Render Pipeline Asset to bypass.
    • 🐛 Unity 6 native BUG: Abnormal rendering on Windows DX11. Mitigations added for Unity 6.0-6.1. Verified fixed in Unity 6.2.
  • ✨ AR Foundation: Supports AR Foundation 5 and newer versions, significantly simplifying usage
    • ✨ AR Foundation support integrated into plugin package, no separate import needed (can be disabled via config)
    • ✨ Supports reusing Unity.XR.CoreUtils.XROrigin as ARSession origin, reuses XROrigin's Camera
    • ✨ Added Unity XR Auto Switch config option to handle Unity XR (including AR Foundation) object switching by default
    • ✨ ARSession created via EasyAR menu automatically includes and enables AR Foundation support
    • ✨ Most samples now support AR Foundation (AR Foundation requires manual import and configuration)
    • 🔧 ARCore and ARKit can be controlled separately, including priority between EasyAR's built-in ARCore/ARKit and AR Foundation's
    • 🔥 Removed support for AR Foundation 4
    • 🔥 Removed support for ARSessionOrigin, only XROrigin supported
    • 🔥 Removed proxy execution for AR Foundation's ARCore installation flow
  • ✨ Full compatibility with Input System Package

Cutting-edge HMD support, adding support for multiple new OST/VST HMDs:

  • 🚀 Head-mounted display interface is now stable, supporting third-party integration
    • ✨ Supports third-party device integration (requires HMD manufacturers to provide specific data interfaces)
    • ✨ Supports XROrigin and XR Interaction Toolkit
    • ✨ Simplified and unified all HMD samples, requiring zero code, and supports feature switching
    • ✨ Supports fisheye camera input
    • ✨ Supports custom camera input with 3DOF data
    • ✨ Added menu feature: Extensions, integrating all extension menu items
    • 🐛 Fixed rendering anomalies occurring on some HMDs when running DenseSpatialMap
    • 🔥 Removed legacy glasses samples like ActionOne and BT350
  • ✨ Built-in support for Apple Vision Pro
    • ✨ Supports Metal, RealityKit, and Hybrid modes
    • ✨ Supports visionOS >= 2.0, supports visionOS 26
  • ✨ Built-in support for XREAL Air2 Ultra (requires XREAL SDK >= 3.1)
    • ✨ No longer requires importing a separate support package
    • ⚡ Optimized performance on XREAL devices
    • 🔥 Discontinued support for XREAL Light
  • ✨ Support for Pico, Rokid, and other devices via the EasyAR Sense Unity Plugin extension
    • ✨ Provides a reference template com.easyar.sense.ext.hmdtemplate for third-party device integration
    • ✨ 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 be supported across future versions of the EasyAR Sense Unity Plugin
  • ✨ Supports EasyAR XR License
    • 🔧 Using EasyAR on HMDs requires an EasyAR XR License and initial internet connection (trial requires internet each time)

Improve Unity component interfaces, significantly optimize ARSession workflow:

  • 🚀 Improve Unity component layer encapsulation
    • ✨ Enhance scene components to provide all EasyAR Sense functionalities
    • 🔥 Remove all EasyAR Sense layer interfaces encapsulated via components
    • 🔥 Remove all internal interfaces
  • ✨ ARSession: Rewritten and greatly optimized workflow
    • ✨ Support starting and stopping sessions at any time
    • ✨ Support automatic session startup control
    • ✨ Support seamless switching of session features and input sources without black screens
    • ✨ Simplify device support checks with consistent interfaces
    • ✨ 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 processes
    • 🔥 Disallow simultaneous operation of multiple ARSessions
  • ✨ ARSessionFactory: Provide runtime creation of ARSession and related components
    • ✨ Support creating sessions at runtime identical to editor menu sessions via ARSessionFactory
    • ✨ Add Frame Source sorting functionality (including menu items)
  • ✨ FrameSource: Add inertial navigation and 3DoF support
    • ✨ Add InertialCameraDeviceFrameSource to support inertial navigation
    • ✨ Add ThreeDofCameraDeviceFrameSource to support 3DoF cameras
    • ✨ Add menu feature: Frame Source by Transform Type, providing a list of all built-in FrameSources
    • ⚡ Optimize Inspector options
  • ✨ Other interface adjustments and feature updates
    • ✨ Add functionality to create ImageTarget using Texture2D
    • ✨ Add ImageMaterial for rendering image-type data (camera images, target images, etc.)
    • ✨ Add ActiveController to manage GameObject activation, unifying related control logic
    • ✨ Add desktop simulation for screen rotation functionality
    • ✨ Add XROriginChildController to manage behavior of objects under Session origin
    • 🔥 Remove WorldRootController
    • 🔧 Split sparse spatial map interfaces into two distinct functional components: Builder and Tracker
    • 🔧 Adjust EasyARController to provide application/system-level static functionalities
    • 🔧 Unify Target component interfaces
    • 🔧 Standardize interfaces for service data access

Added multiple development and diagnostic tools:

  • 🚀 Added editing-time diagnostic tool: Session Validation Tool
    • ✨ Simplified eif playback in any scenario
    • ✨ Supported controlling eif playback flow
    • ✨ Supported controlling session flow
  • 🚀 Added runtime diagnostic panel: EasyAR Diagnostics Panel
    • ✨ Added Developer Mode toggle. By default, clicking the screen 8 times enables/disables the Diagnostics Panel, simplifying eif recording and issue feedback for online apps
    • ✨ Supported custom Developer Mode toggle, using custom interactions to enable/disable the Diagnostics Panel
    • ✨ Supported controlling eif recording
    • ✨ Supported controlling session information display
    • ✨ Supported controlling eed recording
  • ✨ Added brand-new EIF recording and playback functionality
    • ✨ FrameRecorder will be automatically assembled into ARSession, eliminating manual selection
    • ✨ FrameRecorder will automatically generate filenames by default to support script-free usage
    • ✨ FramePlayer supports seeking and speed adjustment for data recorded in the new format, with reduced file size
    • 🔧 Supported driving scenes and AR features using eif on computers (not a new feature)
  • ✨ Added DiagnosticsController to unify and optimize diagnostic functions
    • ✨ Added hierarchical information display and control. All error and warning messages are displayed via UI by default
    • ✨ Added functionality to display key status information of ARSession and its components, shown via UI and updated every frame by default
    • 🔧 Used diagnostic functions to simplify the acquisition of issue feedback information
    • 🔥 Removed GUIPopup
  • 🔧 Optimized abnormal state behavior and error message display
    • 🔧 Optimized error messages when no available frame source exists
    • 🔧 In URP environments using EasyAR instead of AR Foundation or head-mounted rendering for camera images, failure to correctly configure RendererFeature will trigger an error and interrupt ARSession execution
    • 🔧 Modified the default Active control strategy for Origin. Content sticks to the screen instead of disappearing during tracking loss
    • 🔧 When using trial products on custom cameras or headsets, reaching the time limit will hide all content to avoid effect misjudgment
  • 🔧 Optimized configuration page content and options
    • ✨ Supported selecting variants of the EasyAR Sense library
    • 🔒 Application permissions except camera permissions are no longer editable, determined by the EasyAR Sense library variant and whether Mega is enabled
    • 🔧 Functionality and server configurations are grouped by EasyAR features
    • 🔧 Centralized management of third-party AR SDK configurations
    • 🔧 Centralized management of Unity-specific Workaround configurations

EasyAR Mega Tools Comprehensive Public Release:

  • 🚀 Comprehensive public release, synchronized updates
    • ✨ Integrated release of Mega Studio 2.12
    • 🔧 Mega tools on the Unity side will gradually merge into the plugin. Future releases will only provide the latest integrated package, merged with regular updates of EasyAR Sense Unity Plugin
    • 🔧 EasyAR Mega still requires application and approval through the EasyAR website page before use
  • ✨ New support for EasyAR Mega Landmark
  • ✨ New support for 5DOF inertial navigation (enabled by default), significantly expanding device compatibility for EasyAR Mega
  • ✨ New 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 execution on mobile due to incomplete sample copying
    • ✨ When using Mega to record older version eif data, FrameRecorder will automatically generate .eif.json files
    • 🔧 Replaced remote debugging degradation option with LocationInputMode
    • 🔧 Split no-tracking mode into an independent component, typically no longer requiring attention
    • 🔧 Added BlockRootSource option; default configuration will throw errors if BlockRoot is unset
    • 🔧 Adjusted default behavior when locating multiple blocks to ensure multi-block isn’t used by default
    • 🔧 Modified some interface names
    • 🔧 Throws clearer exceptions when Session contains Mega but fails to initialize
    • 🔧 Lowered minimum MotionTracker QualityLevel requirement for Mega to Limited
    • 🐛 Fixed CloudLocalizerStatus.WakingUp state escaping issue causing runtime errors
    • 🔧 Other optimizations and modifications detailed in EasyAR Sense update logs

Sample rewriting and optimization:

  • ✨ Rewrite all samples
    • ✨ Compatible with different Input System configurations
    • ✨ Compatible with URP17+
    • ✨ Compatible with AR Foundation
    • 🔧 Compatible without AR Foundation
    • 🔧 Retain a small number of samples without AR Foundation support
    • ⚡ Optimize scripts and interface calls
    • 🚚 Some samples renamed
    • 🔧 Replace models, videos, and other resources within samples
    • ⚡ Reduce usage of streaming assets, import only in samples demonstrating specific features
    • ✨ Create ImageTarget using Texture2D
  • ✨ Add new features and interface demonstrations
    • ✨ Add Workflow_ARSession sample for learning basic session workflow and device support
    • ✨ Add Workflow_FrameSource_ExternalImageStream sample, using video as a custom camera (not for head-mounted display)
    • ✨ Add Combination_BasedOn_MotionTracking sample for learning how to use, switch, and integrate AR Foundation 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 camera resolution switching and torch mode functionality in Workflow_FrameSource_CameraDevice
    • 🔥 Remove standalone AR Foundation samples, functionality integrated into other samples
    • 🔥 Remove FrameRecording sample, functionality integrated into other samples
    • 🔥 Remove MotionTracking_Fusion sample, functionality included in Combination_BasedOn_MotionTracking
    • 🔥 Remove SurfaceTracking_ImageTarget sample, feature combinations remain easily achievable
    • 🔥 Remove Camera_CustomCamera sample, can be implemented if needed
    • 🔥 Remove outdated glasses samples like ActionOne and BT350
  • ✨ Simplify eif recording and playback
    • ✨ Add eif recording button to all samples; recorded eif files usable in the editor
  • ✨ Rewrite launcher, include sample descriptions
    • 🐛 Fix dark scene issue when loading samples via launcher

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 properly
  • 🐛 Fix ARCore failure caused by ClassLoader behavior changes in Unity 6