Setup Leap Motion for VR Development BETA

  1. Attach the Leap Motion VR Developer Mount using the video below.

    Lost the mount attachment instructions?     Download PDF

    Note: The Oculus firmware limits bandwidth for the DK2’s built-in USB port, which harms the controller’s performance. We recommend using the free cable extender bundled with the mount to connect the controller directly to the computer. For more known issues, click here.

  2. Download the Leap Motion SDK and run the installer bundled with the package. After installing the package, click “Settings…” from the new Leap Motion system tray icon, go to the Troubleshooting tab, and select Recalibrate Device. If you can’t recalibrate to 90% or greater, see our calibration tips. This is necessary for optimal VR tracking.

  3. On the General tab, check Allow Images. This allows apps to access the infrared video passthrough. (See example here.)

  4. Download the Oculus Rift Runtime 0.7.0 and run the installer.

  5. Download and try the latest VR demos on our Examples Gallery. You can find some of our favorites in the next section.

    If this is the first time you’ve setup your VR station, you’ll need to find the best configuration for you (mirroring or using extended display) in your operating system's Display settings (see example here). You also may have to experiment with the Display options (resolution, rotation) to ensure correct rotation for the screen.

  6. Ready, set, build! Now that your creative juices are flowing, it’s time to create something awesome. Check out our development tips and resources further down this page.

Get Inspired with VR Demos

Developing with VR Tracking

Now that you’re set up, you’ll need to take a couple of extra steps to start building your VR application. We’ve made these steps easy in our VR integrations for Unity, Unreal, and JavaScript, which are featured in the next section.

The Leap Motion software features two different tracking modes – standard and head-mounted. To access head-mounted tracking in your application, you’ll need to set the policy flag POLICY_OPTIMIZE_HMD. Similarly, you must set the flag POLICY_IMAGES in order to access the Image API, which passes the infrared camera data to your application.

// In C++ controller.setPolicyFlags(static_cast<Leap::Controller::PolicyFlag>(Leap::Controller::PolicyFlag::POLICY_IMAGES | Leap::Controller::PolicyFlag::POLICY_OPTIMIZE_HMD));

It’s also important to know that the the head-mounted perspective is slightly different from the Leap Motion Controller's usual table setup. In effect, you’ll need to attach the controller to the headset within your 3D environment, and then translate the Leap Motion tracking data into world space. This process is handled for you in our VR integrations for Unity, Unreal, and JavaScript.

VR Integrations

Get started right away with our integrations and resources for Unity 5, Unreal Engine 4.7, and Mozilla’s WebVR API.


Download our core Unity assets and additional developer resources to start building compelling experiences for VR or desktop right away.

Unreal Engine

With our official UE4 plugin, you can add virtual hands to your games and access a variety of API functions, including HMD tracking.


Mozilla’s WebVR API is an amazing tool for web developers to break into VR. To get started, grab the latest beta browser at

For other platforms, our VR essentials guide covers the transformations needed. C++ developers can also check out the source code for VR Intro. To get started with Java, Python, or Objective-C, head over to our documentation.