Leap Motion Installer and SDK
Download the installer and SDK (consult Release Notes and Known Issues for 18.104.22.168199).
Go to the Getting Started Guide for next steps.
Release Notes and Known Issues
- Images are now on by default
- Fixed gesture parameters in C#/Unity
- Fix for Software log and issue report windows preventing shut down on Mac
- Fix for App Home crash on Mac when disk full message appears
- Automatic power saving now appears in the software log when triggered
- Added App Store button when searching App Home for apps not present
Known Issues (General)
- C# and Python applications built with SDK 2.2.1 that use the Controller.Images() Method must change it to use the Controller.Images Property
- Pausing/Resuming Tracking can cause the FPS to drop. The workaround is to Disconnect/Reconnect the device to bring the FPS back to normal.
- Bone direction vector points in the wrong direction. It should point toward the distal end of the bone.
- Stop-state gesture objects are sometimes not dispatched for swipe and circle gestures.
- Serialized invalid frames are marked as valid when deserialized
- Cannot set the Interaction height manually. The workaround is to turn on the Automatic Interaction Height setting and then move your hand up or down to change the interaction height as shown in the settings panel. When the desired height is achieved, turn off the automatic setting and click Apply
- Images cannot be extracted from serialized frames
- Device.isFlipped is always false
- Secure Websocket on Firefox requires Firefox version 32 or higher
- In some situations when it appears the Leap Service is not running, it is stuck in a loop consuming a full core's CPU. If this happens, restart the service
- Avast! Antivirus can interfere with Leap Motion Service installation (disable shields to work around)
- Secure WebSocket (TLS) on Linux Chrome requires running with --ignore-certificate-errors (caution: this also affects non-WebSocket services)
- Chrome on Windows 7 sometimes fails to respond to emulated touch points – to fix this, click inside the program with a mouse
- The sphereRadius and sphereCenter functions of the Hand class are unstable when the hand is fully open
- Tracking quality is lower when making a fist or with only one finger extended
- Tracking may not work as well with bracelets, rings, watches, sleeves, etc
- A tap gesture may register when a small circle gesture is made
- Linux does not support background apps or onFocus callbacks
Known Issues (VR Beta)
- Applications using the Image API must link with updated DLLs from SDK 2.1.2 or higher.
- Applications using the Image API should update to 2.2.0 to improve performance
- The latest version of the Oculus firmware limits bandwidth for the DK2’s built-in USB port, which harms the controller’s performance. For now, we recommend using the free cable extender bundled with the mount to connect the controller directly to the computer.
- Tracking performance may degrade when closely facing large reflective surfaces like white walls or infrared-reflective curtains. (This is a broader issue with V2 tracking that we’re constantly improving on.)
- Tracking degrades when arms are held directly away from the body (i.e. elbows straight).
- Some poses are not currently tracked reliably in head-mounted display (HMD) mode (e.g. pinch/rotate, 3- and 4-finger poses).
- Minimized or out-of-focus applications using the HMD policy flag can affect the service state. Close such programs before switching back to non-VR apps.
The SDK release notes for the older versions are available in the documentation.
LeapJS provides a powerful and flexible extension framework that makes it easy to build and use custom plugins. They’re configurable, can extend frame objects (such as fingers or hands) with new functionality or data, and can emit custom events from the controller.
- Hand Entry Emit events when a hand enters or leaves the field of view.
- Hand Hold Save data onto hands or fingers to be persisted between frames.
- Screen Position Get the on-screen position of any point in Leap-space.
- Version Check Ensure a minimum protocol version when running your app.
- Playback Record hand-data from the Leap, compress it, and use it to animate your app.
- Transform Translate, rotate, and scale Leap Motion data. Use this to orient the hand for Virtual Reality.
- Bone Hand Add a customizable 3D hand to your THREE.js scene in one line of code.
LeapJS 3D Widgets: Push buttons and drag planes
LeapJS-rigged-hand uses THREE.js to add a hand to any web page.
Leap Data Plotter allows easy plotting streaming data to a <canvas>.
LeapJS-Network: [alpha] Stream Leap Motion data live over WebRTC Data channels.
Allows you to capture and play back Leap frame data.
This is the place to find the latest Unity resources for your project. Before you get started, make sure that you have Unity 5 installed. You can find more setup instructions through our getting started page.
Note: The deprecated Unity 4.6 assets have been archived and remain available at https://developer.leapmotion.com/downloads/unity/4.6
With Unity 5, we have a single asset release that includes the core and VR assets. Each asset release (below) includes details on the required Leap Motion SDK and Unity versions (and Oculus SDK if applicable to your project). Be sure to use the SDK versions recommended in the known issues.
Unity Demos and Resources
Our Unity assets package includes resources like UI Widgets, Quick Switch, and even Image Hands – which let you use your actual hands in AR/VR. Check out these resources in our Developer Gallery, plus some projects from our developer community:
ElementL: Ghost Story
Hovercast VR Menu
Image Hands: Moving Demo
Developing with VR?
Portions Copyright © 2013 Oculus VR, Inc. All rights reserved. Subject to the conditions and disclaimer in the SDK license agreement at https://developer.oculus.com/licenses/