Releases: ultraleap/UnityPlugin
Unity Release 7.0.0
- This release was tested against Unity 2021LTS and 2022LTS
- Tracking contains stable content including Core, Hands and the Interaction Engine.
- Tracking Preview contains experimental/pre-release content.
Headline features include:
Tracking Client versions
- Windows - v6.0.0
- MacOS - v6.0.0
- Android - v6.0.0
Added
- ImageRetriever allows more than 6 reconnections
- New Pinch and Grab detection utilities
- Option to fade hands on found/lost in HandEnableDisable component
- OnHandFound and OnHandLost events to LeapProviders
- LeftHandTracked and RightHandTracked access booleans to LeapProviders
- PhysicalHandsButton with automatic setup
- PhysicalHandsButtonToggle
- PhysicalHandsAnchorable, including anchoring and un-anchoring based on grabs
- PhysicalHandsSlider
- TwoDimensionalPhysicalHandsSlider example
- Ability to ignore collisions per hand separately from grabs
- Primary hover functionality to physical hands
- PhysicalHandsButton can now use primary hover functionality
Changed
- XRLeapProviderManager renamed LEAP_DIRECT to ULTRALEAP
- Accessors for Hand.Finger, Hand.Bone and Finger.Bone
- Renamed BoneType enum entries to remove redundancies
- Replaced use of PinchStrength for IsPinching with PinchDistance
- PinchDistance is now measured in Metres not Millimetres
- Removed old PhysicalHandsButton
- Anchors no longer require Interaction Engine
- Turntable and Pullcord example scene now uses Physical Hands
- Physical Hands Playground uses new PhysicalHandsButtons and Toggles
- Grab Ball uses Physical Hands rather than Interaction Engine
- Physical Hands events are sent to all event interfaces attached to the interacted rigidbody
- Hard Contact Parent settings access levels to public
- Prefab Create Menu uses Physical Hands prefabs as opposed to Interaction Engine
- Prefab Create Menu chooses URP hands where available
- Shaders use _Color as the default color property name
- Shaders all come under the Ultraleap folder
- Deleted Interaction Engine
- Leap and Leap.Unity namespaces are now Leap
Full Changelog (Tracking Package)
Documentation
Discussions
Discord
Note
If using the .UnityPackage method to import the Plugin, it is recommended to delete any previous version before importing to avoid import issues.
Unity Release 6.15.1
- This release was tested against Unity 2021LTS and 2022LTS
- Tracking contains stable content including Core, Hands and the Interaction Engine.
- Tracking Preview contains experimental/pre-release content.
Headline features include:
Tracking Client versions
- Windows - v6.0.0
- MacOS - v6.0.0
- Android - v6.0.0
Added
- Support for reading the camera matrix
Changed
- Improved XRHands support for Meta Aim Input Actions
Fixed
- Issue with the method signature for LeapPixelToRectilinearEx
- Duplicate meta aim hands when using XRHands Input
- Editor stuck in infinite loop when no service running
- Caching issue with LeapToUnityTransform which causes the hand to be flipped on the Z axis.
Full Changelog (Tracking Package)
Documentation
Discussions
Discord
Note
If using the .UnityPackage method to import the Plugin, it is recommended to delete any previous version before importing to avoid import issues.
Unity Release 6.15.0
- This release was tested against Unity 2021LTS and 2022LTS
- Tracking contains stable content including Core, Hands and the Interaction Engine.
- Tracking Preview contains experimental/pre-release content.
Headline features include:
Tracking Client versions
- Windows - v6.0.0
- MacOS - v6.0.0
- Android - v6.0.0
Added
- LeapServiceProvider accessor for world space position of the Tracking Camera
- LeapXRServiceProvider accessor for world space position of the Tracking Camera
- (Physical Hands) Ability to ignore collisions on single object or all children
- (Physical Hands) Added toggle to GrabHelper to allow kinematic object movement
- (Physical Hands) Ignore Physical hands component can now choose which hand(s) it should be applied to
- (Physical Hands) Edit time representation of hands via Physical Hands Manager
- (Attachment Hands) Do not show warning again this session when deleting attachment points
- (Optional) Metadata capture to help improve the Plugin
- (Physical Hands) Ability to create IgnorePhysicalHands at runtime
- (Fiducial Marker Tracking) Fiducial Marker Tracking support using AprilTag
Changed
- (Config) Additional uses of Config marked as Obsolete
- Any LeapServiceProvider can be used with MRTK subsystem
- Example content to be split by XR, Tabletop and URP Examples
- Combined example content to be part of the main Ultraleap Tracking .unitypackage when importing via .unitypackage
- Added fog and gradient sky for all XR example scenes
- (Hand Rays) Exposed dot product used to test if the hand is facing camera
- (Hinting) Added support for startup setting of Hand Tracking Hints via the Ultraleap Settings window
- (Hinting) Added support for runtime changing of Hand Tracking Hints via static HandTrackingHintManager
- (Hinting) Added support for setting OpenXR Hand Tracking Hints via the OpenXR HandTrackingFeature
- Access of Physical Hands extensions
- Added public accessors to various Physical Hands utilities
- Unified use of TrackedPoseDrivers across XR LeapProviders
Fixed
- Errors in Editor when using pre-2023.3.18 LTS due to FindObjectByType issue
- (Physical Hands) Objects are sticky when they ignore collision with hard contact hands
- (Physical Hands) Ability to toggle ignore Physical hands options from the inspector at runtime.
- (Locomotion) IsPinching wouldn't fire when between Activate and Deactivate values in LightweightPinchDetector
- (Physical Hands) Soft contact button difficult to press in physical hands playground scene when not using UI layer
- (Physical Hands) Disabled Ignore Physical hands components still affecting grab and collision at runtime
- (Physical Hands) Button Prefab uses mesh from example assets
- (Physical Hands) Button gets stuck down if disabled after pressing
- (UI Input Preview) Null UIInput events cause unnecessary error logs
- Memory increase when repeatedly opening scenes with LeapServiceProviders
- ThreadAbort when changing scenes in editor that use multidevice or display the tracking device gizmo
- (LeapServiceProvider) OnDeviceChanged event is not raised when multidevice mode is disabled
- (LeapXRServiceProvider) LeapXRServiceProvider wrongly uses transform relative to camera when offset mode set to transform
- (Hand Binder) incorrect upperArm name definition for elbow joint
- (Physical Hands) Soft Contact NAN collider error when using OpenXR tracking on Android devices
- (Physical Hands) Hand stuck in pose, unable to grab if object is disabled while grabbing
- (Physical Hands) Errors when destroying objects that are grabbed
- (Physical Hands) Errors when adding Physical Hands Manager prefab for the first time
- Use of Device Transforms does not apply rotations
- OpenXR API Layer Service query intent was missing sometimes, preventing API layers functioning correctly
- OpenXR checks minSdkVersion rather than targetSdkVersion for query intents
- (Physical Hands) PhysHands Settings are not localized when using decimals
Full Changelog (Tracking Package)
Documentation
Discussions
Discord
Note
If using the .UnityPackage method to import the Plugin, it is recommended to delete any previous version before importing to avoid import issues.
Unity Release 6.14.0
- This release was tested against Unity 2021LTS and 2022LTS
- Tracking contains stable content including Core, Hands and the Interaction Engine.
- Tracking Preview contains experimental/pre-release content.
Headline features include:
Tracking Client versions
- Windows v5.17.1
- MacOS v5.17.1
- Android v5.17.1
Added
- Physical Hands. This introduces a new way of interacting with object in the virtual world using your hands and unitys physics engine.
- Brand New Example Scene to show off some of the many great ways to use Physical hands.
Changed
- Removed Physics Hands from the preview package as Physical Hands has replaced it.
Known issues
- Repeatedly opening scenes can cause memory use increase
- The OpenXR Leap Provider does not currently support the
Confidence
hand property (and will return fixed values) - After using Ultraleap OpenXR in Unity Editor, the tracking mode of device 0 will be set to HMD until the Unity Editor session ends. This can stop the testing of non-XR scenes until the Unity Editor is re-opened
Full Changelog (Tracking Package)
Documentation
Discussions
Discord
Note
If using the .UnityPackage method to import the Plugin, it is recommended to delete any previous version before importing to avoid import issues.
Unity Plugin 6.13.0
- This release was tested against Unity 2021LTS and 2022LTS
- Tracking contains stable content including Core, Hands and the Interaction Engine.
- Tracking Preview contains experimental/pre-release content.
Headline features include:
Tracking Client versions
- Windows v5.17.1
- MacOS v5.17.1
- Android v5.17.1
Added
- (Hands Recorder Preview) A new Hand Recorder to record animation clips of hands and additional objects to produce re-playable actions (e.g for tutorials)
- (Pose Detector) Add a new rule type to match rotation of a joint to a target
- (XR Hands) Added XRHandsLeapProvider to convert the current XRHandsSubsystem data to a LeapProvider for use with the Ultraleap Unity Plugin features
- Added the ability to suppress the Android build warnings
- Help Menu that links out to docs, a place to report bugs & places to get support
Changed
- (Preview Teleportation) Lightweight Pinch Detector's finger detection can be configured
- (Obsolete) Some old unused LeapC APIs have been marked as Obsolete (config, IsSmudged, IsLightingBad)
- Changed from using obsolete FindObjectOfType to using newer implementations
- Ultraleap settings are now in the project settings window, under "Ultraleap"
Fixed
- (Hand Binder) Hands begin at large/small scale and slowly scale to normal size
- (Pinch to Paint Example) Painting sound does not play if pinch began out of tracking range
- LeapXRServiceProvider ensures default device offset mode is set to new defaults when enabled
- Attachment Hand Menu is incorrectly rotated
Known issues
- Repeatedly opening scenes can cause memory use increase
- The OpenXR Leap Provider does not currently support the
Confidence
hand property (and will return fixed values) - After using Ultraleap OpenXR in Unity Editor, the tracking mode of device 0 will be set to HMD until the Unity Editor session ends. This can stop the testing of non-XR scenes until the Unity Editor is re-opened
Full Changelog (Tracking Package)
Documentation
Discussions
Discord
Note
If using the .UnityPackage method to import the Plugin, it is recommended to delete any previous version before importing to avoid import issues.
Unity Plugin 6.12.1
- This release was tested against Unity 2021LTS and 2022LTS
- Tracking contains stable content including Core, Hands and the Interaction Engine.
- Tracking Preview contains experimental/pre-release content.
Headline features include:
Fixed
- (leapXRServiceProvider) Hands offset incorrectly on Windows when using Leap 2
Known issues
- Use of the LeapCSharp Config class is unavailable with v5.X tracking service
- Repeatedly opening scenes can cause memory use increase
- Currently the Ultraleap Hand Tracking feature for OpenXR requires the New and Legacy input systems to be enabled, to simultaneously use OpenXR and the Ultraleap Unity Plugin's features.
- The OpenXR Leap Provider does not currently support the
Confidence
hand property (and will return fixed values) - After using Ultraleap OpenXR in Unity Editor, the tracking mode of device 0 will be set to HMD until the Unity Editor session ends. This can stop the testing of non-XR scenes until the Unity Editor is re-opened
- Running both the Ultraleap XRHands Subsystem and another XRHands Subsystem at the same time causes unstable results. Only enable one at a time.
Full Changelog (Tracking Package)
Documentation
Discussions
Discord
Note
If using the .UnityPackage method to import the Plugin, it is recommended to delete any previous version before importing to avoid import issues.
Ultraleap Unity Plugin 6.12.0
- This release was tested against Unity 2021LTS and 2022LTS
- Tracking contains stable content including Core, Hands and the Interaction Engine.
- Tracking Preview contains experimental/pre-release content.
Headline features include:
Added
- (MRTK Support) Added an MRTK3 subsystem for using Leap tracking directly (non-OpenXR)
Changed
- (XRHands) XRHands subsystem will now use existing LeapXRServiceProviders found in the scene before considering generating new ones
Fixed
- (XRHands) XRHands double-translates tracking data causing XRI InputActions to be wrongly positioned when the XROrigin is moved
Known issues
- Use of the LeapCSharp Config class is unavailable with v5.X tracking service
- Repeatedly opening scenes can cause memory use increase
- Currently the Ultraleap Hand Tracking feature for OpenXR requires the New and Legacy input systems to be enabled, to simultaneously use OpenXR and the Ultraleap Unity Plugin's features.
- The OpenXR Leap Provider does not currently support the
Confidence
hand property (and will return fixed values) - After using Ultraleap OpenXR in Unity Editor, the tracking mode of device 0 will be set to HMD until the Unity Editor session ends. This can stop the testing of non-XR scenes until the Unity Editor is re-opened
- The OpenXR Leap Provider palm can be in unexpected position when using pre-1.4.3 OpenXR Layer. A workaround is to ensure you use 1.4.3 or newer - installed by the 5.12.0 or newer Tracking Service Installer
- Running both the Ultraleap XRHands Subsystem and another XRHands Subsystem at the same time causes unstable results. Only enable one at a time.
Full Changelog (Tracking Package)
Documentation
Discussions
Discord
Community Support
Thanks to our contributors:
@MaxPalmer-UH
@rblenkinsopp
@MattGrayUL
@Dwarph
@rorygames
@MattFiler
@BryceNewell-UL
Note
If using the .UnityPackage method to import the Plugin, it is recommended to delete any previous version before importing to avoid import issues.
Ultraleap Unity Plugin 6.11.0
- This release was tested against Unity 2021LTS and 2022LTS
- Tracking contains stable content including Core, Hands and the Interaction Engine.
- Tracking Preview contains experimental/pre-release content.
Headline features of 6.11.0 include:
Added
- (Physics Hands) Finger displacement values to each finger
- (Physics Hands) Interface based events for easier development
- Please see the updated scripts in the Physics Hands example scene for more information
- (HandRays) Add methods to invoke handray Frame & State Change in inherited classes
- (LeapXRServiceProvider) Use of device transforms from the service when using Default device offset mode. This does not include tilt/rotation
Changed
- (Physics Hands) Burst compute is now used to improve certain physics calculation performance
- In Unity 2020+ this is used for "hand is colliding" functions only
- In Unity 2022+ all collision functions are handled by Burst
- (Physics Hands) Parameters of the hand (e.g. contact distance) are now controlled at the provider level and have adjusted defaults for better interactions
- (Physics Hands) OnObjectStateChange event has been replaced with SubscribeToStateChanges
- This is tailored to handle specific Rigidbodies and will only fire when your subscribed Rigidbody is affected
- (Physics Hands) Hand and bone states have been improved and are more consistent with expectations
- (Physics Hands) Updated example scene with new events and better visuals
- (Physics Hands) Updated PhysicsBone IsObjectGrabbable calculations to use the closest point on the bone to the hovered object
- (Physics Hands) Improved Physics Hands grasp helpers to take into account grabs where bones are facing each other
- (Locomotion) Expose teleport anchor list & last teleported anchor
- (Locomotion) Moved Jump Gems further away from the arm, to account for sleeves
- (Locomotion) Added functionality to update the initial position and rotations of the TP anchor after the first Awake
Fixed
- (Physics Hands) Hand forces are reduced when pushing into objects with fingers
- (Physics Hands) Stopped physics buttons from rotating incorrectly
- (Locomotion) Jump Gems look for audio sources in their children, even if the audio source was set
- (Locomotion) If pinched gem was null, jump gem teleport could still be in a selected state
- (Locomotion) Teleport ray did not change to an invalid colour when no colliders were hit
- (Core) Fixed hands juddering in XR when interpolation is turned off on the LeapXRServiceProvider. Turning off interpolation now turns off head pose interpolation
- (PoseViewer) Pose viewer rotation does not match the targets rotation
Known issues
- Use of the LeapCSharp Config class is unavailable with v5.X tracking service
- Repeatedly opening scenes can cause memory use increase
- Currently the Ultraleap Hand Tracking feature for OpenXR requires the New and Legacy input systems to be enabled, to simultaneously use OpenXR and the Ultraleap Unity Plugin's features.
- The OpenXR Leap Provider does not currently support the
Confidence
hand property (and will return fixed values) - After using Ultraleap OpenXR in Unity Editor, the tracking mode of device 0 will be set to HMD until the Unity Editor session ends. This can stop the testing of non-XR scenes until the Unity Editor is re-opened
- The OpenXR Leap Provider palm can be in unexpected position when using pre-1.4.3 OpenXR Layer. A workaround is to ensure you use 1.4.3 or newer - installed by the 5.12.0 or newer Tracking Service Installer
- Running both the Ultraleap XRHands Subsystem and another XRHands Subsystem at the same time causes unstable results. Only enable one at a time.
Full Changelog (Tracking Package)
Documentation
Discussions
Discord
Community Support
Thanks to our contributors:
@MaxPalmer-UH
@rblenkinsopp
@MattGrayUL
@Dwarph
@rorygames
@MattFiler
@BryceNewell-UL
Note
If using the .UnityPackage method to import the Plugin, it is recommended to delete any previous version before importing to avoid import issues.
Unity Release 6.10.0
- This release was tested against Unity 2020LTS and 2021LTS
- Tracking contains stable content including Core, Hands and the Interaction Engine.
- Tracking Preview contains experimental/pre-release content.
Headline features of 6.10.0 include:
Added
- (XRHands) Direct Leap XRHands Subsystem
- (UltraleapSettings) Ultraleap Settings ScriptableObject to toggle features
- (InputSystem) A XRHands to Leap InputActions and Meta Aim InputActions converter
Changed
- (Hand Pose) Removed unnecessary Hand Pose scriptable context menu option
- (Multi device aggregation) Added wrist and arm to ConfidenceInterpolation aggregator
- (Preview XRI) Removed XRI content from Preview Package in favour of XRHands+XRI content in Tracking Package. Follow the Ultraleap XR Docs for XRI and XRHands to get started
Fixed
- (Preview) CPU performance issues on PICO when re-connecting tracking device
Known issues
- Use of the LeapCSharp Config class is unavailable with v5.X tracking service
- Repeatedly opening scenes can cause memory use increase
- Currently the Ultraleap Hand Tracking feature for OpenXR requires the New and Legacy input systems to be enabled, to simultaneously use OpenXR and the Ultraleap Unity Plugin's features.
- The OpenXR Leap Provider does not currently support the
Confidence
hand property (and will return fixed values) - If using OpenXR when using Unity 2020 and Ultraleap Tracking Plugin via .unitypackage, an error will appear on import relating to HandTrackingFeature. This has been fixed by Unity on Unity 2021
- A workaround is to right click on \ThirdParty\Ultraleap\Tracking\OpenXR\Runtime\Scripts\HandTrackingFeature.cs and select 'Reimport'
- After using Ultraleap OpenXR in Unity Editor, the tracking mode of device 0 will be set to HMD until the Unity Editor session ends. This can stop the testing of non-XR scenes until the Unity Editor is re-opened
- The OpenXR Leap Provider palm can be in unexpected position when using pre-1.4.3 OpenXR Layer. A workaround is to ensure you use 1.4.3 or newer - installed by the 5.12.0 or newer Tracking Service Installer
- Running both the Ultraleap XRHands Subsystem and another XRHands Subsystem at the same time causes unstable results. Only enable one at a time.
Full Changelog (Tracking Package)
Documentation
Discussions
Discord
Community Support
Thanks to our contributors:
@MaxPalmer-UH
@rblenkinsopp
@MattGrayUL
@Dwarph
@rorygames
@JuliaRonnebergerUL
@MattFiler
@BryceNewell-UL
Note
If using the .UnityPackage method to import the Plugin, it is recommended to delete any previous version before importing to avoid import issues.
Unity Release 6.9.0
- This release was tested against Unity 2020LTS and 2021LTS
- Tracking contains stable content including Core, Hands and the Interaction Engine.
- Tracking Preview contains experimental/pre-release content.
Headline features of 6.9.0 include:
Added
- (Physics Hands) In-editor readme for example scene
- (Attachment Hands) Predicted pinch position
- (LeapServiceProvider) Ability to change the number of Service connection attempts and interval
Changed
- (HandUtils) Only cache static Provider and CameraRig references when they are requested
- (HandUtils) Mark Provider-dependant methods as obsolete and point to suitable replacements
- (UIInput) Cursors are disabled by default and enabled when required
- (LeapXRServiceProvider) When using Default offset, updated values will be used automatically
- (Utils) All references to Utils in the Plugin specify Leap.Unity.Utils to avoid clashes with other Utils classes
Fixed
- (OpenXRProvider) Hand
Rotation
,Direction
,PalmPosition
,PalmNormal
andStabilisedPalmPosition
do not match LeapC when using OpenXR layer 1.4.4 - (OpenXRProvider) Elbow length incorrectly calculated.
- (OpenXRProvider) Finger
Direction
is incorrectly set to the tip bone direction rather than the intermediate - (OpenXRProvider) Hand
GrabStrength
is computed before all required information is available - (UIInput) When hand lost or leaves canvas near hovered button, button stays hovered
- (Jump Gem Locomotion) Jump Gems look for audio sources in their children, even if the audio source was set
Known issues
- Use of the LeapCSharp Config class is unavailable with v5.X tracking service
- Repeatedly opening scenes can cause memory use increase
- Currently the Ultraleap Hand Tracking feature for OpenXR requires the New and Legacy input systems to be enabled, to simultaneously use OpenXR and the Ultraleap Unity Plugin's features.
- The OpenXR Leap Provider does not currently support the
Confidence
hand property (and will return fixed values) - If using OpenXR when using Unity 2020 and Ultraleap Tracking Plugin via .unitypackage, an error will appear on import relating to HandTrackingFeature. This has been fixed by Unity on Unity 2021
- A workaround is to right click on \ThirdParty\Ultraleap\Tracking\OpenXR\Runtime\Scripts\HandTrackingFeature.cs and select 'Reimport'
- After using Ultraleap OpenXR in Unity Editor, the tracking mode of device 0 will be set to HMD until the Unity Editor session ends. This can stop the testing of non-XR scenes until the Unity Editor is re-opened
- The OpenXR Leap Provider palm can be in unexpected position when using pre-1.4.3 OpenXR Layer. A workaround is to ensure you use 1.4.3 or newer - installed by the 5.12.0 or newer Tracking Service Installer
Full Changelog (Tracking Package)
Documentation
Discussions
Discord
Community Support
Thanks to our contributors:
@MaxPalmer-UH
@rblenkinsopp
@MattGrayUL
@Dwarph
@rorygames
@JuliaRonnebergerUL
@MattFiler
@BryceNewell-UL
Note
If using the .UnityPackage method to import the Plugin, it is recommended to delete any previous version before importing to avoid import issues.