Releases: magicleap/MagicLeapUnitySDK
Releases · magicleap/MagicLeapUnitySDK
2.3.0
Features
- Update OpenXR Plugin dependency to
1.11.0
. - Added
GetMapOrigin()
method toMagicLeapLocalizationMapFeature
to allow users to get the pose of the map's origin. - Added
GetPixelSensorFromXrPath()
to MagicLeapPixelSensorFeature to get aPixelSensorId
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 fromUnityEngine
andUnityEditor
code. SeeDeprecation & Removals
note below. - Adjusted
MagicLeapSpatialAnchorsStorageFeature
to work with theXRAnchorSubsystem
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 inARAnchorManager.anchorsChanged
event. - Added
CaptureTime
toPixelSensorFrame
to get the capture time of the corresponding frame forMagicLeapPixelSensorFeature
.
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 theUnityEngine.XR.OpenXR.Features.MagicLeapSupport
namespace have been marked Obsolete, as they have been relocated to newMagicLeap
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[])
. UseMagicLeapMeshingFeature.GetMeshIds(out MeshId[])
instead. - Deprecated
MagicLeapMeshingFeature.GetMeshData(in TrackableId,...)
. UseMagicLeapMeshingFeature.GetMeshData(in MeshId,...)
instead. - Deprecated
MLXrAnchorSubsystem.GetAnchorPoseFromID
. UseMLXrAnchorSubsystem.GetAnchorPoseFromId
instead. - Deprecated
MagicLeapSpatialAnchorsStorageFeature.DeleteStoredSpatialAnchor
. UseMagicLeapSpatialAnchorsStorageFeature.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
Features
- Added
Magic Leap 2 Light Estimation
OpenXR Feature. - Added
.GetTimestamps()
method toAndroidCamera
API to allow users to determine/validate capture rate. - Added
Magic Leap 2 Pixel Sensor
OpenXR Feature - Added new
MagicLeapController.cs
example script to theML 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
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 detectedAprilTag
markers are flipped.
Deprecations & Removals
- Removed Preferences>External Tools>Magic Leap.
- Marked
MLPermissions
Obsolete. UseMagicLeap.Android.Permissions
instead.
Known Issues
MLAnchors
API does not work when theMagic Leap 2 Spatial Anchors
orMagic 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
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 theMLMarkerTracker.TrackerSettings
struct.
Experimental
- Added
Magic Leap 2 Spatial Anchors
andMagic 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
: DeprecatedMLCamera
API. 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
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 fromTask
toTask<MLResult>
. Exposed booleanIsScanning
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
: DeprecatedMLCamera
API. Developers will need to utilize the Android SDK Camera2 API or the NDK Camera API instead.MLMediaPlayer
: DeprecatedMLMedia
API 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
MLOcclusion
API. - Added public properties
MagicLeapCamera.EnforceFarClip
andMagicLeapCamera.RecenterXROriginAtStart
Bugfixes
MLSegmentedDimmer
: Fixed crash when playing scene twice in editor.MLMediaPlayerBehavior
: Fixed unresponsive UI after pressing stop button inMediaPlayer
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 onMeshing
example scene start up.- Fixed second disconnect attempt in
WebRTC
example. HandTrackingExample
: FixedPoseNotFound
errors that might occur afterHandTracking
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
Features
MLDepthCamera
: Added support for switching to Short Range streaming mode and to change FPS and exposure values.
Bugfixes
MLWebRTC
: Fixed camera disconnection when usingMLNativeSurface
based buffers for rendering.- Fixed
MLWorldCamera
error on application quit. MLSegmentedDimmer
: Fixed crash when playing scene twice in editor.
1.8.0
Features
MLEyes
: UpdatedleftEyeOpenAmount
andrightEyeOpenAmount
onUnityEngine.InputSystem.XR.Eyes
to return values between 0.0 and 1.0.- Added support for
EyeHeightMax
andEyeWidthMax
inMLGazeRecognitionStaticData
MLSpace
: Added a new API for importing and exporting spaces without the need for scanning the environment.MLDepthCamera
: AddedRawDepthImage
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.