Releases: magicleap/MagicLeapUnitySDK
Releases · magicleap/MagicLeapUnitySDK
2.3.0
Features
- Update OpenXR Plugin dependency to
1.11.0. - Added
GetMapOrigin()method toMagicLeapLocalizationMapFeatureto allow users to get the pose of the map's origin. - Added
GetPixelSensorFromXrPath()to MagicLeapPixelSensorFeature to get aPixelSensorIdbased on an XrPath string. - Added
Magic Leap 2 Secondary View SupportOpenXR Feature. - Migrated the
XR_ML_view_configuration_depth_range_changeextension into its own separate OpenXR Feature as the extension is experimental.
Improvements
- Updated Magic Leap Feature sets to visually distinguish in the UI between experimental and non-experimental OpenXR extensions.
- Reorganized classes and types into new
MagicLeap.OpenXRnamespaces, separating Magic Leap code fromUnityEngineandUnityEditorcode. SeeDeprecation & Removalsnote below. - Adjusted
MagicLeapSpatialAnchorsStorageFeatureto work with theXRAnchorSubsystemautomatically and no longer depends on manual adding and deleting. All code that currently does this should be adjusted and it is encouraged to use the built inARAnchorManager.anchorsChangedevent. - Added
CaptureTimetoPixelSensorFrameto get the capture time of the corresponding frame forMagicLeapPixelSensorFeature.
Bugfixes
MagicLeapSpatialAnchorStorageFeature.OnQueryCompletewill now be invoked when 0 anchors are found for a query.- Fixed issue where a DllNotFoundException would prevent an application from launching if the
Magic Leap XR Pluginpackage is installed but its XR Provider is not enabled. - Fixed issue of potentially corrupted Cubemap for
MagicLeapLightEstimationFeature.GetEstimateCubemap
Deprecations & Removals
- All
OpenXRFeatureclasses inside theUnityEngine.XR.OpenXR.Features.MagicLeapSupportnamespace have been marked Obsolete, as they have been relocated to newMagicLeapnamespaces. Updating existing code to use this release of the Magic Leap SDK will create compiler errors in the console for any references to these classes. Manual changes will be required due to how OpenXR Settings data is serialized by the Editor. - Deprecated
MagicLeapMeshingFeature.GetMeshIds(out TrackableId[]). UseMagicLeapMeshingFeature.GetMeshIds(out MeshId[])instead. - Deprecated
MagicLeapMeshingFeature.GetMeshData(in TrackableId,...). UseMagicLeapMeshingFeature.GetMeshData(in MeshId,...)instead. - Deprecated
MLXrAnchorSubsystem.GetAnchorPoseFromID. UseMLXrAnchorSubsystem.GetAnchorPoseFromIdinstead. - Deprecated
MagicLeapSpatialAnchorsStorageFeature.DeleteStoredSpatialAnchor. UseMagicLeapSpatialAnchorsStorageFeature.DeleteStoredSpatialAnchorsinstead. - Temporarily Removing
MagicLeap.OpenXR.Features.LightEstimation.EstimateData.HarmonicsCoefficientsuntil fully implemented.
Misc.
- Increased minimum Unity version to
2022.3to be in line with the oldest LTS supported for Magic Leap by Unity. - Updated LICENSE
2.2.0
Features
- Added
Magic Leap 2 Light EstimationOpenXR Feature. - Added
.GetTimestamps()method toAndroidCameraAPI to allow users to determine/validate capture rate. - Added
Magic Leap 2 Pixel SensorOpenXR Feature - Added new
MagicLeapController.csexample script to theML Rig & Inputspackage sample.
Bugfixes
- Fixed code paths in MagicLeapCamera script to better support legacy Magic Leap XR Plugin workflow.
- Resolved issue where sometimes Marker Detectors would receive
MarkerInvalidMLerrors. - Fixed issue where the
Permissionssection of Magic Leap's Project Settings would fail to render and mention a missing MLSDK. - Resolved unnecessary warnings from AR Foundation about missing Camera and Raycast subsystems.
- Fixed issue where
MarkerData.MarkerStringwas limited to 100 characters. - Made DestroyClient method in
Magic Leap 2 Facial ExpressionsOpenXR Feature get called automatically to prevent error if done manually in OnDestroy.
2.1.0
Features
- Update OpenXR Plugin dependency to
1.10.0. - Added
Magic Leap 2 Facial ExpressionsOpenXR Feature. - Added
Magic Leap 2 Environmental MeshingOpenXR feature. - Added
Magic Leap 2 Spatial AnchorsOpenXR Feature - Added
Magic Leap 2 Spatial Anchors StorageOpenXR Feature - Added
MagicLeap.Android.Permissions, a new and improved Permissions API. - Included an AprilTagSettings struct to the
Magic Leap 2 Marker UnderstandingOpenXR Feature
Experimental
- Added
AndroidCameraAPIs for performing basic YUV and JPEG Camera capture.
Bugfixes
- Fixed issue where JPEG screen capture with
MLCamerawas not displaying an image. - Fixed legacy
MLPlanessubsystem not being initialized when using Magic Leap XR Provider. - Added project validation rules to check for Player Settings required by Magic Leap 2.
- Fixed
MLCVCamerabeing unable to query Headpose from the MLSDK when the OpenXR PRovider is active. - Fixed
MLMarkerTrackerissue where detectedAprilTagmarkers are flipped.
Deprecations & Removals
- Removed Preferences>External Tools>Magic Leap.
- Marked
MLPermissionsObsolete. UseMagicLeap.Android.Permissionsinstead.
Known Issues
MLAnchorsAPI does not work when theMagic Leap 2 Spatial AnchorsorMagic Leap 2 Spatial Anchors StorageOpenXR Features are enabled.
Misc.
- Renamed the ML Rig & Inputs Sample input actions asset as well as the old
MagicLeapInputsasset to make it clear what the differences are.
2.0.0
Features
- Replace the Magic Leap XR Plugin with the OpenXR Plugin as the direct XR provider dependency package. If you'd wish to continue using the Magic Leap XR Plugin, install it from the Package Manager, and ensure it is enabled as the sole XR provider in Project Settings/XR Plug-in Management.
- Added
Magic Leap 2 SupportOpenXR Feature - Added
Magic Leap 2 Localization MapsOpenXR Feature - Added
Magic Leap 2 Marker UnderstandingOpenXR Feature - Added
Magic Leap 2 Plane DetectionOpenXR Feature - Added
Magic Leap 2 Reference SpacesOpenXR Feature - Added
Magic Leap 2 Rendering ExtensionsOpenXR Feature - Added
Magic Leap 2 System Notification ControlOpenXR Feature - Added
Magic Leap 2 User CalibrationOpenXR Feature - Added
Magic Leap 2 Controller Interaction Profilefor OpenXR - Added
ML Rig & InputsSample - Changed
MLMarkerTrackerdefault settings behavior to not begin marker tracking immediately. Also set the default MarkerType to None when creating theMLMarkerTracker.TrackerSettingsstruct.
Experimental
- Added
Magic Leap 2 Spatial AnchorsandMagic Leap 2 Spatial Anchors StorageOpenXR Features
Bugfixes
- Fixed an issue in
MLGestureClassificationwhere hand transform and interaction points would freeze in place when Posture type was None. - Added missing comments describing parameters and returns to functions in
MLSpace. - Fixed issue in
MLMediaPlayerBehaviorwhere HLS streams would not play after resolution changes. - Fixed issue in
MLMediaPlayerBehaviorwhere DASH streams would not display video or audio. - Fixed issue in
MLCamerathat resulted in crashes & artifacts when rendering YUV capture to a RenderTexture. - Fixed issue in
MLCamerathat resulted in crashes when waking from sleep. - Fixed issue with legacy Hands subsystem causing compilation errors in MRTK projects.
- Fixed issue with Segmented Dimmer not functioning correctly
- Improved performance of
MLEyeCamera - Fixed issue with MagicLeapCamera.cs performing expensive JNI operations every frame leading to an eventual crash in some apps.
Deprecations & Removals
MLCamera: DeprecatedMLCameraAPI. Developers will need to utilize the Android SDK Camera2 API or the NDK Camera API instead.
1.12.1
Bugfixes
- Fixed issue with legacy Hands subsystem causing compilation errors in MRTK projects.
1.12.0
Features
- Added Localization Confidence and Localization Errors to
MLSpaceAPI - Added Quality Confidence to
MLAnchorsAPI - Added the ability to change the
nearClipPlaneof the Unity Camera with respect to the minimum distance selected in the device's system settings. MLMarkerTrackerfunction returns changed fromTasktoTask<MLResult>. Exposed booleanIsScanningto determine if markers are currently being scanned.
Bugfixes
- Fixed an issue where Vulkan would fail to initialize if Unity's WebRTC package (
com.unity.webrtc) is installed in the project. - Fixed issue where MLMediaPlayerBehavior wasn't outputting warning logs
- Fixed an issue in
MLGestureClassificationwhere hand transform and interaction points would freeze in place when Posture type was None. - Added missing comments describing parameters and returns to functions in
MLSpace
Deprecations & Removals
MLCamera: DeprecatedMLCameraAPI. Developers will need to utilize the Android SDK Camera2 API or the NDK Camera API instead.MLMediaPlayer: DeprecatedMLMediaAPI andMLMediaPlayerBehavior. Developers needing to play video files are encouraged to upgrade their project to Unity 2022.3.10 and use the VideoPlayer component.
1.11.0
Features
- Remove requirement to call MLAudioPlayback's CreateAudioBuffer method from the main thread.
Bugfixes
- Resolved issue with controller touchpad gestures not working in App Sim.
MLDevice: Fixed null reference exception- Fixed an issue where Vulkan would fail to initialize if Unity's WebRTC package (
com.unity.webrtc) is installed in the project.
1.10.0
Features
- Added
MLOcclusionAPI. - Added public properties
MagicLeapCamera.EnforceFarClipandMagicLeapCamera.RecenterXROriginAtStart
Bugfixes
MLSegmentedDimmer: Fixed crash when playing scene twice in editor.MLMediaPlayerBehavior: Fixed unresponsive UI after pressing stop button inMediaPlayerexample.- Added missing dropdown for short-range depth camera in
DepthCameraexample. MLCamera: Fixed error on sleep mode and doze mode.MLCameraBase: Fixed failure to render preview capture more than once.MLNativeSurface: Fixed AccessRenderBufferTexture() rendering failure when reusing same player.MLMediaPlayer: Fixed erroneuous error logging on pending result from Streaming Assets path prepare.- Fixed
MLMeshingon map reset. MLMeshing: Fixed Null Reference Exception onMeshingexample scene start up.- Fixed second disconnect attempt in
WebRTCexample. HandTrackingExample: FixedPoseNotFounderrors that might occur afterHandTrackingscene changes.MLGestureClassification: Fixed errors thrown when hands not detected.MLUnityNativeLogging: Conditionally reduced log level of snapshot errors based on build configuration.GraphicsHook: Added cleanup logic that resets the snapshot prediction state of the input subsystem
1.9.0
Features
MLDepthCamera: Added support for switching to Short Range streaming mode and to change FPS and exposure values.
Bugfixes
MLWebRTC: Fixed camera disconnection when usingMLNativeSurfacebased buffers for rendering.- Fixed
MLWorldCameraerror on application quit. MLSegmentedDimmer: Fixed crash when playing scene twice in editor.
1.8.0
Features
MLEyes: UpdatedleftEyeOpenAmountandrightEyeOpenAmountonUnityEngine.InputSystem.XR.Eyesto return values between 0.0 and 1.0.- Added support for
EyeHeightMaxandEyeWidthMaxinMLGazeRecognitionStaticData MLSpace: Added a new API for importing and exporting spaces without the need for scanning the environment.MLDepthCamera: AddedRawDepthImageto support raw camera stream with IR Projector ON.- Added
MLEyeCameraAPI. MLPowerManager: Added a new API to obtain current controller state and control controller state transitions.MLHeadTracking: Modified headpose lost notifications with new API for MLHeadTrackingStateEx.
Deprecations & Removals
MLHeadTracking: MLHeadTrackingState and related dependencies marked Obsolete.
Known Issues
MLWebRTC: When disconnecting from a session, the camera does not shut down cleanly if the NativeSurface buffer format was used, causing the application to hang for as much as 30 seconds.