4.7.0

Only changes related to Mega development are listed bellow.

4.7.0+4202.f71beec9

++ built-in support Apple Vision Pro
++ built-in support XREAL Air2 Ultra and XREAL Light, extension package of the Unity Plugin is no longer needed (require NRSDK >= 2.4)
++ support Pico 4 Ultra Enterprise
++ renew EIF recording and playback, reduce file size and add seek and speed adjustment in playback
++ fully support Render Graph of Unity 6 (URP 17+)
* optimize HMD user experience
* EasyAR XR License is required for HMD, internet connection is required in the first startup (required in each startup if trial license is being used)
* optimize session dump message on HMD
* optimize HMD frame source API for third party
* update EasyAR Sense to 4.7.0.11517
* update EasyAR AREngine Interop

4.7.0+3967.aa553121

++ support 3DOF rotation mode and 0DOF mode in Mega (default off)
++ rewrite and tremendously optimize session workflow, to support start/stop and simplify device support check, etc.
+ simplify device support check with consistent API
+ support switch session features and frame source without block screen
+ support start and stop session at any time
+ support to control session auto start
+ support restart session automatically after device list update
+ support to create same sission as from editor menu through ARSessionFactory
+ support to get detailed session broken infomation
+ add session inner state test
* turn off most internal API
++ add runtime diagnostics panel, simplify online app record eif and feedback
+ support custom switch, by default tap screen 8 times to turn on/off
+ support eif recording control
+ support session info dump control
+ support eed recording control
+ Frame recorder will record .eif.json file when using Mega
++ add editor mode diagnostics tool, emphasize debug using eif on editor
+ simplify play eif in user scene
+ support control eif playback process
+ support control session workflow
++ rewrite all samples, to help learn session workflow and AR Foundation usages
+ rewrite launcher, add sample descriptions
+ add eif record button for all samples
+ add Workflow_ARSession sample, for learning fundamental session workflow and device support
+ add Workflow_FrameSource_ExternalImageStream sample, to use video as custom camera (not for HMD)
+ add Combination_BasedOn_MotionTracking sample, for learning how to use and switch features when motion trakcing exists, and switch to AR Foundation
* samples which use AR Foundation now support AR Foundation 5+ only
++ optimize HMD support, simplify API
+ tremendously simplify API
+ optimize Xreal effect
+ support 3DOF data input in custom camera (only some cases for now)
- remove compatibility with Unity XR Interaction Toolkit < 2
- remove samples for ancient devices like ActionOne and BT350
* update ktx plugin version to fix error thrown by ktx plugin when build apps in some Unity versions
* update EasyAR Sense to 4.7.0.11342
* improve Mega tracking performance
* improve motion tracking robustness and device compatibility
* support 3DOF rotation mode and 0DOF mode in Mega
* update EasyAR AREngine Interop
* optimize device list handling

4.7.0+3653.01db12a8

* Update EasyAR Sense to 4.7.0.11150
+ XR license is now required for all AR/VR/MR headsets
+ dramatically improve image tracking quality when using XR license
+ support Mega CLS v4DH service
* improve motion tracking robustness and device compatibility
* fix some rare crashes under some headsets when using spares or dense spatial map

4.7.0+3594.1a934e7d

+ support Mega Landmark
* optimize the development experience, simplify and clarify the configuration, a few modification is required when upgrading old projects
* use LocationInputMode to replace fallback options for remote debugging
* split the no-tracking mode as a stand-alone component that is usually not needed for used
* add BlockRootSource option and by default an error will be reported if BlockRoot is not set
* adjust the default behavior when multiple blocks are localized to ensure that multiple blocks are not used by default
* adjust the naming of some interfaces
* optimized HMD development support
+ support for more types of fisheye distortion parameters
+ Support for creating image targets from Texture2D, and the HMD sample is now zero code
* fix rendering flicker on some devices when using DenseSpatialMap
* Update EasyAR Sense to 4.7.0.11053
* improve Mega tracking performance
* improve motion tracking robustness and device compatibility
* fix jump when tracking under the armv7 architecture

4.7.0+3461.0117f398

* Change lowest QualityLevel of MotionTracker to be used in Mega to Limited
* Disable AREngine on some devices that are not able to run AREngine reasonably
* Throw more explicit exception when the session has Mega but it cannot be used
* Fix a potential invalid access in the HMD template
* Update EasyAR Sense to 4.7.0.10936
* Fix occasional unstable request from MegaTracker
* improve motion tracking robustness and device compatibility
* Re-enable some Xiaomi and Redmi devices when using ARCore

4.7.0+3337.0ad18f09

++ standardizing head mounted display support
+ support Pico 4E (separate authorization required)
+ support Qiyu Mix (separate authorization required)
* support Rokid UXR 2.3.5, drop old version support
+ add URP 15 compatibility
* simplify “Ask a Question” using diagnostics feature
* Update EasyAR Sense to 4.7.0.10875
+ improve motion tracking robustness for large amount of devices and support more devices

4.7.0+3298.2d7435a8

++ standardizing head mounted display support
+ support Rokid UXR2
+ support AR Foundation 5 XROrigin
+ support XR Interaction Toolkit
+ add template for device vendors to connect EasyAR and device
+ unify all device samples, features can be switched without any code
+ improve Rokid UMR tracking performance, fix error on first startup when using new device SDK
++ unify and optimize diagnostics feature (partially migrated)
+ add DiagnosticsController for unified diagnostics entrance
+ add message display level and control
+ add and default turn on critical message display on screen or before eye of ARSession and service status
+ actively crash the app when license error or other unrecoverable errors happen by default to avoid misjudgment
+ add EditorCameraDeviceFrameSource for diagnostics in editor to avoid a partial copied sample to run at an unexpected manner
+ support screen rotation simulation on desktop
- remvoe GUIPopup
* multiple ARSessions are not allowed to run in the same time, EasyARController has been optimized to offer application level functions
* contents are default hide when reach 100s limit to avoid misjudgment
* fix CloudLocalizerStatus.WakingUp status not correctly converted and cause runtime error
* change WorldRootController default ActiveControl to let content stick to the screen instead of disappear
* Update EasyAR Sense to 4.7.0.10789
+ support Mega CLS v3 service
+ support fisheye image input
+ optimize Mega tracking performance dramatically
+ add option for FrameRecorder to generated filename automatically to support usages without script

4.7.0+3126.d9cc1d0c

+ add support for eif metadata recorded from Mega Toolbox on Rokid devices
* Update EasyAR Sense to 4.7.0.10445
+ add support for latest Mega localization service feature update
+ add support for runtime remote end point switching
* fix MegaTracker not working correctly after app resume from background
* add fixes and optimizations from 4.6.1
- remove RealTimeCoordinateTransform

4.7.0+3034.4c39735e

* Update EasyAR Sense to 4.7.0.10364
* add support for latest mega localization service optimization update
* optimize mega tracking and error handling
* optimize frame source not found message

4.6.0+2892.aa58f816

+ add built-in AREngine support (can be used in all Unity versions)
- remove bult-in Huawei Official Unity Plugin support (no official maintenance)
* split and optimize AR Foundation (>= 4.1.3) support
* split and optimize Nreal (>= 1.6) support
* fix warning messages not show in Nreal
* Update EasyAR Sense to 4.6.0.10245
* improve motion tracking robustness
* support Mega-v2 localization service optimization