Skip to content

Releases: magicleap/MagicLeapUnitySDK

2.3.0

10 Jul 20:41
Compare
Choose a tag to compare

Features

  • Update OpenXR Plugin dependency to 1.11.0.
  • Added GetMapOrigin() method to MagicLeapLocalizationMapFeature to allow users to get the pose of the map's origin.
  • Added GetPixelSensorFromXrPath() to MagicLeapPixelSensorFeature to get a PixelSensorId based on an XrPath string.
  • Added Magic Leap 2 Secondary View Support OpenXR Feature.
  • Migrated the XR_ML_view_configuration_depth_range_change extension 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.OpenXR namespaces, separating Magic Leap code from UnityEngine and UnityEditor code. See Deprecation & Removals note below.
  • Adjusted MagicLeapSpatialAnchorsStorageFeature to work with the XRAnchorSubsystem automatically 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 in ARAnchorManager.anchorsChanged event.
  • Added CaptureTime to PixelSensorFrame to get the capture time of the corresponding frame for MagicLeapPixelSensorFeature.

Bugfixes

  • MagicLeapSpatialAnchorStorageFeature.OnQueryComplete will 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 Plugin package is installed but its XR Provider is not enabled.
  • Fixed issue of potentially corrupted Cubemap for MagicLeapLightEstimationFeature.GetEstimateCubemap

Deprecations & Removals

  • All OpenXRFeature classes inside the UnityEngine.XR.OpenXR.Features.MagicLeapSupport namespace have been marked Obsolete, as they have been relocated to new MagicLeap namespaces. 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[]). Use MagicLeapMeshingFeature.GetMeshIds(out MeshId[]) instead.
  • Deprecated MagicLeapMeshingFeature.GetMeshData(in TrackableId,...). Use MagicLeapMeshingFeature.GetMeshData(in MeshId,...) instead.
  • Deprecated MLXrAnchorSubsystem.GetAnchorPoseFromID. Use MLXrAnchorSubsystem.GetAnchorPoseFromId instead.
  • Deprecated MagicLeapSpatialAnchorsStorageFeature.DeleteStoredSpatialAnchor. Use MagicLeapSpatialAnchorsStorageFeature.DeleteStoredSpatialAnchors instead.
  • Temporarily Removing MagicLeap.OpenXR.Features.LightEstimation.EstimateData.HarmonicsCoefficients until fully implemented.

Misc.

  • Increased minimum Unity version to 2022.3 to be in line with the oldest LTS supported for Magic Leap by Unity.
  • Updated LICENSE

2.2.0

14 May 22:03
Compare
Choose a tag to compare

Features

  • Added Magic Leap 2 Light Estimation OpenXR Feature.
  • Added .GetTimestamps() method to AndroidCamera API to allow users to determine/validate capture rate.
  • Added Magic Leap 2 Pixel Sensor OpenXR Feature
  • Added new MagicLeapController.cs example script to the ML Rig & Inputs package 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 MarkerInvalidML errors.
  • Fixed issue where the Permissions section 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.MarkerString was limited to 100 characters.
  • Made DestroyClient method in Magic Leap 2 Facial Expressions OpenXR Feature get called automatically to prevent error if done manually in OnDestroy.

2.1.0

20 Mar 19:02
Compare
Choose a tag to compare

Features

  • Update OpenXR Plugin dependency to 1.10.0.
  • Added Magic Leap 2 Facial Expressions OpenXR Feature.
  • Added Magic Leap 2 Environmental Meshing OpenXR feature.
  • Added Magic Leap 2 Spatial Anchors OpenXR Feature
  • Added Magic Leap 2 Spatial Anchors Storage OpenXR Feature
  • Added MagicLeap.Android.Permissions, a new and improved Permissions API.
  • Included an AprilTagSettings struct to the Magic Leap 2 Marker Understanding OpenXR Feature

Experimental

  • Added AndroidCamera APIs for performing basic YUV and JPEG Camera capture.

Bugfixes

  • Fixed issue where JPEG screen capture with MLCamera was not displaying an image.
  • Fixed legacy MLPlanes subsystem not being initialized when using Magic Leap XR Provider.
  • Added project validation rules to check for Player Settings required by Magic Leap 2.
  • Fixed MLCVCamera being unable to query Headpose from the MLSDK when the OpenXR PRovider is active.
  • Fixed MLMarkerTracker issue where detected AprilTag markers are flipped.

Deprecations & Removals

  • Removed Preferences>External Tools>Magic Leap.
  • Marked MLPermissions Obsolete. Use MagicLeap.Android.Permissions instead.

Known Issues

  • MLAnchors API does not work when the Magic Leap 2 Spatial Anchors or Magic Leap 2 Spatial Anchors Storage OpenXR Features are enabled.

Misc.

  • Renamed the ML Rig & Inputs Sample input actions asset as well as the old MagicLeapInputs asset to make it clear what the differences are.

2.0.0

17 Jan 15:30
Compare
Choose a tag to compare

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 Support OpenXR Feature
  • Added Magic Leap 2 Localization Maps OpenXR Feature
  • Added Magic Leap 2 Marker Understanding OpenXR Feature
  • Added Magic Leap 2 Plane Detection OpenXR Feature
  • Added Magic Leap 2 Reference Spaces OpenXR Feature
  • Added Magic Leap 2 Rendering Extensions OpenXR Feature
  • Added Magic Leap 2 System Notification Control OpenXR Feature
  • Added Magic Leap 2 User Calibration OpenXR Feature
  • Added Magic Leap 2 Controller Interaction Profile for OpenXR
  • Added ML Rig & Inputs Sample
  • Changed MLMarkerTracker default settings behavior to not begin marker tracking immediately. Also set the default MarkerType to None when creating the MLMarkerTracker.TrackerSettings struct.

Experimental

  • Added Magic Leap 2 Spatial Anchors and Magic Leap 2 Spatial Anchors Storage OpenXR Features

Bugfixes

  • Fixed an issue in MLGestureClassification where 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 MLMediaPlayerBehavior where HLS streams would not play after resolution changes.
  • Fixed issue in MLMediaPlayerBehavior where DASH streams would not display video or audio.
  • Fixed issue in MLCamera that resulted in crashes & artifacts when rendering YUV capture to a RenderTexture.
  • Fixed issue in MLCamera that 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: Deprecated MLCamera API. Developers will need to utilize the Android SDK Camera2 API or the NDK Camera API instead.

1.12.1

15 Nov 19:07
Compare
Choose a tag to compare

Bugfixes

  • Fixed issue with legacy Hands subsystem causing compilation errors in MRTK projects.

1.12.0

08 Nov 20:57
Compare
Choose a tag to compare

Features

  • Added Localization Confidence and Localization Errors to MLSpace API
  • Added Quality Confidence to MLAnchors API
  • Added the ability to change the nearClipPlane of the Unity Camera with respect to the minimum distance selected in the device's system settings.
  • MLMarkerTracker function returns changed from Task to Task<MLResult>. Exposed boolean IsScanning to 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 MLGestureClassification where 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: Deprecated MLCamera API. Developers will need to utilize the Android SDK Camera2 API or the NDK Camera API instead.
  • MLMediaPlayer: Deprecated MLMedia API and MLMediaPlayerBehavior. 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

27 Sep 18:51
Compare
Choose a tag to compare

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

06 Sep 14:15
Compare
Choose a tag to compare

Features

  • Added MLOcclusion API.
  • Added public properties MagicLeapCamera.EnforceFarClip and MagicLeapCamera.RecenterXROriginAtStart

Bugfixes

  • MLSegmentedDimmer: Fixed crash when playing scene twice in editor.
  • MLMediaPlayerBehavior: Fixed unresponsive UI after pressing stop button in MediaPlayer example.
  • Added missing dropdown for short-range depth camera in DepthCamera example.
  • 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 MLMeshing on map reset.
  • MLMeshing: Fixed Null Reference Exception on Meshing example scene start up.
  • Fixed second disconnect attempt in WebRTC example.
  • HandTrackingExample: Fixed PoseNotFound errors that might occur after HandTracking scene 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

03 Aug 14:07
Compare
Choose a tag to compare

Features

  • MLDepthCamera: Added support for switching to Short Range streaming mode and to change FPS and exposure values.

Bugfixes

  • MLWebRTC: Fixed camera disconnection when using MLNativeSurface based buffers for rendering.
  • Fixed MLWorldCamera error on application quit.
  • MLSegmentedDimmer: Fixed crash when playing scene twice in editor.

1.8.0

14 Jun 13:39
Compare
Choose a tag to compare

Features

  • MLEyes: Updated leftEyeOpenAmount and rightEyeOpenAmount on UnityEngine.InputSystem.XR.Eyes to return values between 0.0 and 1.0.
  • Added support for EyeHeightMax and EyeWidthMax in MLGazeRecognitionStaticData
  • MLSpace: Added a new API for importing and exporting spaces without the need for scanning the environment.
  • MLDepthCamera: Added RawDepthImage to support raw camera stream with IR Projector ON.
  • Added MLEyeCamera API.
  • 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.