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, unity

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 3.X
  • 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
  • UI Input 1.1.0

module, unity

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, unity

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.


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

unity, module

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.

module, unity

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.

module, unity

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, unity

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, unity

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

core_asset, unity

Core Asset 4.0.2

  • Fix: Issue #76 & #50 & #49 #33- Physics hands lag behind graphics hands if LeapImageRetriever not present
  • Relaxed hand chirality restriction which could interfere with hand initialization. Added EnforceHandedness check box to * LeapHandController component which is off by default
  • Fixed issue where hands would not scale properly when LeapHandController is scaled
  • When code compile is triggered while editor is running, the editor playback is now stopped automatically to avoid editor freezes triggerd by hot reloading
  • Fix: Issue #56 and #3 Temporal warping judder
  • Fix for Issue #67 - Playing and stopping hangs Editor if service not running.
  • Setting IsHeadMounted to True on LeapHandController's in VR scenes
  • Fix: issue: FPS Drop in LeapC w/passthrough in Robust Mode or with no hand in view
  • Removing ToUnityScaled from LeapUnityExtensions and all hand scripts
  • Many minor fixes and significant optimizations throughout


Leap Motion Orion 3.1.1

  • Fixed a service crash when triggering device auto-orientation after disconnect/reconnect
  • Fixed a communication issue with the service and control panel after closing the Unity Editor
  • Fixed a Unity crash after editing scripts in Unity Editor while a Leap scene is running
  • Report Software Issue in the Troubleshooting section of the control panel functions properly again
  • Resolved an issue that caused device auto-orientation to stop working occasionally
  • Manual device orientation button from the control panel functions again
  • Software log reports device orientation and when HMD/Desktop mode is triggered


Leap Motion Orion 3.1.0

  • Rewrote the .NET API wrapper around LeapC
  • Better tracking when hands are occluded or touching
  • LeapC PinchAPI and GrabAPI values no longer return 0
  • Resolved the corrupt characters appearing in software log
  • Resolved the hitching issue seen when running apps
  • Resolved a crash when multiple clients were connected at service start
  • Resolved a crash related to calibration


Leap Motion Orion 3.0.0

  • Greater robustness to cluttered backgrounds and ambient light interference
  • Enhanced tracking range that extends to the full length of your arms
  • Faster and better initialization for all hands
  • Lower latency
  • Significantly improved grab-and-drop interactions
  • Lower overall CPU usage
  • Much better finger flexibility allowing for better poses
  • Better tracking on the edge of the field of view
  • Added a VR and PC visualizer to the tray menu
  • Various control panel updates
  • The Unity assets now use a C# binding to a C-language library rather than the SWIG-generated C++ bindings. The new C# API is slightly different then the previous one, especially for images. Currently this new C# API is only used in Unity
  • Deprecated Tools
  • Deprecated Gestures
  • Deprecated Motion APIs (Frame and Hand translation, rotation, scale and related probability estimates)
  • Tracking now automatically resumes after recalibration on Windows
  • Added the setPaused() API
  • Added the isLightingBad() API
  • Added the isSmudged() API
  • Added onLogMessage API to LeapListener
  • A new ‘start_paused’ config flag has been added
  • Fixed touch compatibility for Recalibrate
  • Fixed Recalibrate not being resizable
  • Improved behavior when detecting smudges
  • Apps should now always correctly detect reconnection
  • Updated the C++ sample with examples of the new APIs
  • Removed unneeded Windows DLLs from the SDK