Clone this wiki locally
Getting Started with Unity Modules
Installing the modules
Core is the only dependency for any Module. If you are installing any Unity Modules for a new project, you need only download the latest stable versions of Core and any modules of interest from our developer page. You can import new modules into your project at any time; to upgrade a module, simply delete its folder from your project to get rid of all of the files in that module, then import the latest module version.
For more details on upgrading modules, or if your project already contains older versions of our modules, check out our upgrade instructions (it's easy).
Which modules are right for you?
The dependency for all modules below, Leap Motion's Core Assets provide the foundation for VR applications with a minimal interface between Unity and the Leap Motion Controller and a collection of garbageless C# utilities. With Core, you can render a basic set of Leap hands or attach arbitrary objects to hand joints. Even if you aren't using the Leap Motion Controller, you may enjoy our static Neonate utility, Unity object utilities, or Query, our non-allocating LINQ implementation.
Physics representations of hands and VR controllers fine-tuned with interaction heuristics to provide a fully-featured interaction API: grasping, throwing, stable 'soft' collision feedback, and proximity. The Interaction Engine comes with a suite of examples and prefabs to power reliable, stable 3D user interfaces as well as any physics-critical experiences akin to Leap Motion's Blocks demo.
Designed to address the needs of mobile rendering platforms and the ergonomics of personal VR/AR interfaces, the Graphic Renderer allows you to render an entire curved, 3D, dynamic interface in 1-3 draw calls. The Graphic Renderer can be used in tandem with the Interaction Engine; see this FAQ answer for a link to our integration example project.
The tools you need to rig your 3D hand assets to work with Leap hands, including the powerful auto-rigging tool.
Looking for the API docs?
Unity Modules are generally well-documented! If you're looking for more granular details on Core or any module, don't hesitate to dive into our Doxygen-generated API documentation for the whole Unity Modules codebase.
If you're not seeing hands in your Unity application:
If you aren't using a custom camera rig, make sure you have the LMHeadMountedRig (VR rig) prefab or the LeapHandController (desktop-mounted controller) prefab in your scene.
If you're using a custom camera or controller rig, check your application's scene hierarchy while your hand is in front of the sensor. Make sure the hand isn't simply being rendered in the wrong place relative to your camera. Additionally, double-check you have your rig set up correctly.
Check the Leap Motion icon in your task bar, which you'll have if you've installed the service from the developer SDK for your platform. . If it's dark, the Leap service isn't sending any data. Double-check your Leap Motion hardware is plugged in, and check that the Leap Motion service is running.
Open the Leap Motion Visualizer from the right-click menu of the Leap Motion icon in your task bar. If you see hands in the Visualizer, the problem is mostly likely somewhere in Unity; otherwise, the problem is outside Unity.
Questions not answered here?
Hop on over to the developer forum and post your question! We'll see how we can help.
These modules are still compatible as of Core 4.2.0, but may become unsupported in the future.
Warning: This version of the Interaction Engine is incompatible with the latest version (1.0.0) of the Interaction Engine in the same project. Support for this version of the Interaction Engine is limited. Only existing projects that contained earlier versions of the Interaction Engine beta version (pre-1.0.0) are recommended to upgrade to this module, which will preserve the project's script linkages. Upgrading from pre-1.0.0 versions of the Interaction Engine to 1.0.0 or later will break certain references in your project's scenes and require some work to restore functionality. If you're upgrading to 1.0.0 from this version, be sure to delete all files from this version first.
The UI Input Module features a Leap Event System and a collection of prefabs that allow you to build UGUI (Canvas-based, flat) interfaces for your VR applications. This module's functionality is replaced largely by the Interaction Engine (3D physical interfaces) and the Graphic Renderer (easy curvature, mobile-friendly rendering).
The latest version of Core (since 4.2.0) contains an AttachmentHands.cs script that reproduces the functionality of the Attachment Module hands with a customized inspector interface. Attachment Hands as a concept has migrated to Core to satisfy dependencies for other Modules and examples.
The examples in this module demonstrate scripts in Core that have been deprecated and removed in a future Core release, since most of their functionalities have been superseded by more recent Modules or Core features.