Skip to content

Releases: ultraleap/UnityPlugin

Unity Release 7.1.0

09 Sep 11:01
Compare
Choose a tag to compare

openupm-tracking openupm-tracking-preview

  • 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.1.0
  • MacOS - v6.0.0
  • Android - v6.0.0

Added

  • Added option to fade UIInputCursor sprite out based on specified interaction distance range
  • Added range to customise the distance at which the UIInputCursor scales when using direct input

Changed

  • PostProcessProvider now defaults to UpdateAndFixedUpdate updating to better support PhysicalHandsManager out of the box
  • Service providers using a specific serial will now connect to the exact given serial, rather than first closest
  • UI PointerElement now only uses specified finger rather than the calculated closest to canvas (defaults to INDEX)
  • Reduced the default UIInputCursor minimum sprite scale
  • UIInputEventSystem prefab now defaults to Direct interaction mode
  • Modified version check logic for readability

Fixed

  • Service providers using a specific serial will now correctly handle device reconnections
  • GrabHelper handles null ContactHand objects more gracefully
  • Fixed instance where setting CapsuleHand colour through code would report a nullref
  • Fixed references to LeapProvider and Camera in PointerElement to prevent nullrefs when changing either in the main UIInputModule
  • Fixed GrabBall for new physical setup
  • Correctly unassign/re-assign LeapProvider events in PhysicalHandsManager if reference changed at runtime
  • Fixed an unreachable code warning if XR_MANAGEMENT and INPUT_SYSTEM are not AVAILABLE
  • Fixed the default float height for UIInputCursor
  • Increased timeout and retry delay in ServerStatus to reduce GetServerStatus fails
  • Fixed an instance where ServerStatus would report a nullref if the devices array fails to populate
  • Fixed MRTK integration (updated finger/bone methods for new 7.0.0 implementation)

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 7.0.0

26 Jul 12:56
Compare
Choose a tag to compare

openupm-tracking openupm-tracking-preview

  • 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

26 Jun 12:14
Compare
Choose a tag to compare

openupm-tracking openupm-tracking-preview

  • 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

22 Apr 09:21
Compare
Choose a tag to compare

openupm-tracking openupm-tracking-preview

  • 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

24 Jan 18:57
dec970f
Compare
Choose a tag to compare

openupm-tracking openupm-tracking-preview

  • 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

28 Nov 11:37
Compare
Choose a tag to compare

openupm-tracking openupm-tracking-preview

  • 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

28 Sep 10:03
808ba16
Compare
Choose a tag to compare

openupm-tracking openupm-tracking-preview

  • 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

13 Sep 11:32
Compare
Choose a tag to compare

openupm-tracking openupm-tracking-preview

  • 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

15 Aug 14:41
Compare
Choose a tag to compare

openupm-tracking openupm-tracking-preview

  • 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

07 Jul 09:39
Compare
Choose a tag to compare

openupm-tracking openupm-tracking-preview

  • 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.