UI Input Module 1.2.0

Requires: Core Asset 4.1.5

What's New:

  • Enhancement: Add Additional Comments and Documentation
  • Fix: Allow Hands to Interact with Canvases at more Oblique Angles
  • Fix: Adjust Drag Threshold Interpretation

Hands Module 2.1.0

Requires: Core Asset 4.1.5

What's New:

  • Enhancement: Skeletal joints in the LoPoly FBX models have been moved slightly to more closely match Leap's tracking model.
  • Enhancement: When changes are made to ModelPalmFacing or ModelFingerPointing vectors in the LeapHandsAutoRig component, values are now pushed to RiggedHand and RiggedFinger components manually, via the "Push Vector Values" inspector button. Previously values were auto-updated via OnValidate()
  • Enhancement: LeapHandsAutoRig is now able to rig hierarchies containing one hand only
  • Enhancement: If the hierarchy of a 3D hand model contains metacarpals and UseMetaCarpals is checked in the LeapHandsAutoRig component, they will be auto-assigned with the AutoRigMecanim() method.

Core Asset 4.1.5

What's New:

  • Enhancement: smoothed interpolation chooses optimal value automatically
  • Enhancement: Added SerializableDictionary to /DataStructures/
  • Enhancement: added MinHeap to /DataStructures/
  • Enhancement: attributes properties can be disabled by other properties
  • Fix: removed redundant pinch variables
  • Fix: improved multi-value attribute editing
  • Fix: removed "Either" from iHandModel's Chirality enum
  • Fix: compile error from RiggedHand and RiggedHandMobile
  • Upgraded LeapC - PR#437
  • Enhancement: improved AutoFind attribute
  • Fix: updated LeapCSharp.NET.3.5.dll to handle new device serial numbers
  • Fix: removed all foreach loops for performance
  • Fix: LeapVRTemporalWarping has new functionality for the Sync Mode enum. Most scenes should be set to LOW_LATENCY while AR scenes using video passthrough should be set to SYNC_WITH_HANDS
  • Fix: In LeapServiceProvider, interpolation enabling/disabling is now hidden and on by default.


  • Leap Motion Orion
  • Oculus Rift 0.8.0+
  • Unity 5.3+
  • Windows

Compatible Modules

  • Leap Motion Interaction Engine 0.2.03
  • Attachments Module 1.0.3
  • Detection Examples 1.0.2
  • Hands Module 2.1.0
  • UI Input 1.2.0

Leap Motion Orion 3.2.0

What's New

  • Improved initialization speed
  • Improved stability of tracking some poses
  • Better tracking and initialization in desktop mode
  • Updated Unity Visualizer to fix a latency issue
  • Official LeapC documentation in the SDK package
  • Various changes to LeapC including:
    • Added LeapPixelToRectilinear()
    • Added LeapRectilinearToPixel()
    • Added invalid and unknown device types
    • Renamed eLeapDeviceType to eLeapPID
    • Added record to file and playback from file
    • Added 3x3 Matrix struct
    • Added quaternion to LEAP_PALM to represent orientation
    • Added LeapInterpolateFrameFromTime() function

Core Asset 4.1.4

What's New:

  • Handpool will no longer error if there is an empty model slot in the HandPool
  • Models spawned by with Handpool's CanDuplicate are now parented to a ModelsParent transform specified in the HandPool's inspector. If this is left empty, then spawned model's are not parented.
  • Minor modifications to support Interaction Engine
  • Refactored PinchDetector so that it has an abstract base class. This paves the way for future, similar detectors.
  • Added standard Color definitions for Detector gizmo drawing
  • Added Minimum and Maximum extended finger counts to ExtendedFingerDetector. This allows you to specify that at least a minimum and/or no more than a maximum number of fingers are extended.
  • Streamlined ExtendedFingerDetector code.
  • Changed FingerDirectionDetector to use the direction of the distal phalanges rather than the intermediate phalange.
  • Added Tag name setting to ProximityDetector that adds any objects with the specified tag to the target object list.
  • Added a Layer option to ProximityDetector, which uses the specified Layer for proximity checks rather than the target object list.
  • Runtime Gizmos!


  • Leap Motion Orion
  • Oculus Rift 0.8.0+
  • Unity 5.3+
  • Windows

Compatible Modules

  • Leap Motion Interaction Engine 0.2.03
  • Attachments 1.0.3
  • Detection Examples 1.0.2
  • Hands 2.0.0
  • UI Input 1.1.0

Attachments Module 1.0.3

Requires: Core Asset 4.1.3

This release provides better transitions and an option to draw lines representing the hand for debugging and easier setup.

What's New:

  • Refactored Transition code.
  • Removed separation of In and Out transitions.
  • Transition now uses Animation curves with a domain of[-1,1]. The non-transitional point is 0.
  • Added OnAnimationStep event dispatcher so applications can perform their own animation logic in step with the transition.
  • Added options to AttachmentController to activate and deactivate attachments on enable/disable. This allows you to control how attached objects are handled when the hand enters and exits the scene.
  • Changed GrabPoint calculation of attachment hand.
  • Added Gizmo lines to attachment hand. Lines are only drawn when a RuntimeGizmoManager (from the core assets) is in the scene.
  • Added a Root transform setting to the Transition object, which defaults to the current game object's transform. This allows you to place the transition anywhere in the hierarchy.
  • Also removed the ActivateOnEnable setting from the AttachmentController. It was unnecessary and potentially confusing.
  • Added ITransition as base class of Transition, so that Transition classes can be replaced with a different implementation.
  • Added Transition prefab.
  • Fixed Chirality settings in ProzimityDemo scene.
  • Added GameObject with a RuntimeGizmoManager to ProximityDemo scene to support gizmo drawing.

Core Asset 4.1.3

  • Fix: Instantiating LMHeadMountedRig at runtime would break HandRepresentation building.
  • Fix: When a hand was removed from the scene, its model's were all returned to the HandPool. But there needed to be a check to see if there was another candidate hand active in the scene. Then, add the model to that hand instead of returning to HandPool.

Core Asset 4.1.2

Core Assets 4.1.2 release with minor changes to support Hand Module 2.0.0.

  • LeapServiceProvider gets TransformedCopy only as needed vs. with every frame request - #333
  • Added setter to Handedness field in IHandModel and child class scripts to support Hands Module 2.0.0

Hands Module 2.0.0

  • Feature: Auto Rigging - LeapHandsAutoRig Unity script. For complete explanation and tutorial please refer to: http://blog.leapmotion.com/hands-module-2-0-bring-your-hand-designs-to-life-in-two-minutes-or-less/
  • Feature: Start Pose storing and retrieval for RiggedHands
  • Feature: RiggedHand and RiggedFinger scripts now have several methods to support auto rigging via LeapHandsAutoRig
  • Enhancement: Improved auto-calculation of ModelFingerPointing and ModelPalmFacing vectors for RiggedHand and RiggedFinger scripts
  • Enhancement: SetEditorLeapPose in IHandModel now finds places hand poses in the space of the LeapServiceProvider component for consistent, hierarchy-independent editor posing
  • Adding FBX LoPoly_Hands model with simple human skeletal hierarchy with Mecanim Humanoid mapping to illustrate Mecanim based auto rigging.
  • Fix: Removing extra joint weight from LoPoly_Rigged_Hand_Left.fbx to match the right hand model
  • Context menu attributes for auto-setup related methods in RiggedHand script. Can be used to manually access methods called by LeapHandsAutoRig Requires Unity 5.4+

Leap Motion Orion 3.1.3

  • Significantly reduced the number of false hands appearing on background objects
  • Improved initialization in complex backgrounds and at longer distances
  • Addressed an issue where the hand can become detached at higher hand velocities
  • Addressed a rare service hang while idling for several hours
  • Addressed an issue with the VR Visualizer showing destop mode when using HMDs
  • Addressed a rare crash issue when restarting the service
  • Addressed a small memory leak after pausing/unpausing the service many times

UI Input Module 1.0.0

This module provides a simplified interface for physically interacting with World Space Canvases in Unity’s UI System. This makes it possible for users to reach out and “touch” UI elements to interact with them. The module also provides “CompressibleUI” scripts that enable Unity UI elements to pop-up and flatten in response to touch and prefabs which ease the creation of physically satisfying user interfaces.

Attachments Module 1.0.1

This module provides a special IHandModel that exposes several important transforms of the hands, like the palm, finger tips, and arm. This makes it easy to attach Unity game objects to a hand. The module also provides scripts for turning on and off attached game objects that are designed to work with detectors.

Attachments-1.0.1 fixes an unintended dependency on the DetectionExamples package.

Detection Examples 1.0.1

Initial release of the Detection Examples module.


  • PinchMovement -- Use the PinchDetector to transform an object.
  • PinchDraw -- Use the PinchDetector to draw 3D lines.
  • FingerDetector -- Use the Extended Finger and FingerPointing detectors to trigger an action on a thumb's up pose and when pointing at another object.

Detectors build on the Pinch Utility module to provide a convenient way to detect what a user’s hand is doing. In addition to detecting pinches, you can now detect when the fingers of a hand are curled or extended, whether a finger or palm are pointing in a particular direction, and whether the hand or fingertip are close to one of a set of target objects. (A grab detector is coming soon.)

What is more, these detectors can be combined together using a Logic Gate. The Detector Logic Gate is itself a detector that logically combines two or more other detectors to determine its own state. Need a thumb’s up gesture? Combine a thumb extended detector with a thumb pointing upward detector using a logic gate.

Detectors dispatch standard Unity events when they activate or deactivate. This makes it easy to hook up objects and scripts to a detector straight from the Unity editor — without writing a line of code.

Each detector can draw gizmos that make it easy to see its configured conditions and whether it is currently active or inactive.

Detectors are designed to be small building blocks that you can put together into something interesting. This also has the benefit that it is easy to write your own detector scripts.

The Detector scripts, including the PinchDetector, are now part of the Core Assets package. The former Pinch Utility module has been retired and the example scenes moved to this Detection Examples package.

Core Asset 4.1.1

  • UI Input module -- scripts and scenes for:
    • A. Building Unity UIs that our hands can interact with.
    • B. Interaction at a distance -- projects a cursor toward the UI and interact with a pinch
  • Added Detector utilities to the core assets -- these build on LeapPinchDetector to aid developers in detecting when a hand is in a desired state. Includes 2 new example scenes. Detectors include:
    • Extended fingers
    • Finger and palm pointing direction
    • Pinch detector (moved from former PinchUtilites)
    • Proximity to a list of target game objects
    • A logic gate for combining detectors
  • Added LeapCSharp.NET3.5.dll, which contains the C# wrapper classes around LeapC. Removed LeapC source files.
  • Removed PinchUtilites module. Code was moved to core as a detector; examples were moved to DetectionExamples.
  • Added a Sphere mesh setting to CapsuleHand and provided lower-poly sphere objects.
  • Made it optional for a IHandModel to persist in the scene in Edit mode.
  • Fixed turning on and off graphics or physics hands in the LeapHandController.
  • Fixed bug in which old frames would be used if the head transform didn't change
  • Fixed bug that caused temporal warping to fail 1-in-5 times on Vive (hands not rotating with camera)
  • Added ToggleModelGroup() method for groups in HandPool
  • Fixed bug with group enabling and disabling in HandPool
  • Added script to detect Vive vs. Oculus and adjust camera height compared to floor - this won't be apparent in any of the Core Asset scenes since they feature only hands.

Core Asset 4.1.0

  • HandPool can now accept prefabs directly from the project as well as the current workflow of instances in the hierarchy. In this use case, hands will not be persistent in the scene views of course, and clones are instantiated into the HandPool at start.
  • HandPool's Inspector UI has been simplified. IHandModels are dragged directly into the HandPool (either from the Project or from the Hierarchy window as explained above) at Editor time vs. into the HandCollection intermediary which has been removed. Additionally, ModelLists have been hidden in the editor. They are easily revealed if needed for debugging.
  • EnforceHandedness has been removed. Chirality can be enforced by setting IHandModel's exposed enum to "Right", "Left" or relaxed with "Either".
  • Each IHandModel pair has an exposed CanDuplicate boolean. If this is checked, more than one Left or Right model can be spawned. These, extra spawned models will be restored to the HandPool when their corresponding Leap Hand stops tracking. This functionality has been added in part to support the low performance initialization used in the mobile daemon.
  • Multiple hands pairs are now supported. In the HandPool's editor UI, The ModelPool's Size value can be set to the desired number of model pairs. For example debug hands can be added to run along with the Capsule hands. Each model pair can now be enabled and disabled at runtime by calling its user assigned name. This is done using the * HandPool.EnableGroup("Group Name") and HandPool.DisableGroup("Group Name") methods. Additionally, each pair can be enabled or disabled in the editor to control whether those models appear at Start..
  • Scene View persistent model positions (defined by the poses in TestHandFactory) are now adjusted so the IHandModel transforms can and should be placed at their local origins. This way, when using multiple hands, all pairs will align in the Scene view during edit time.
  • Vive support. The example VR and AR scenes can be built for the Vive using Unity 5.4 beta and by adding SteamVR support in the Player settings. They can also be built to dual Vive/Oculus support
  • Improved Debug Hands with visible bases
  • CSharp wrapper from platform 68bc064
  • And of course multiple fixes and improvements

Leap Motion Orion 3.1.2

  • Added in the LeapCSharp .NET 3.5, 4.0 and 4.5 DLLs
  • Addressed a judder issue in LeapC when application render FPS and tracking FPS were out of sync
  • Improved initialization when running at lower frame rates
  • Better tracking and higher FPS while in robust mode
  • Improved tracking on the edge of the field of view
  • Adjusted the gamma in the VR Visualizer when in Robust Mode
  • Added an FPS counter in the VR Visualizer
  • Updated the VR Visualizer to support Oculus 1.3
  • Also updated the VR Visualizer to support HTC Vive