Official Leap Motion Plugin!

my first fast check and i not see and “event grab” or a event pinched like getnamo plugin. Useful for detect when grab things. Perhaps can use Grab Strengh in same way.

Seems i have more unstable hands like unofficial.

Will check next days better.

Hm, maybe it’s time to give this thing another try. It’s been sitting in my drawer since I first got it and quickly got bored of it. Did their software mature since the release? It felt very unreliable and imprecise back then.

That’s exactly my experience. I didn’t realize the Unity plugin was more stable. That gives me hope. Did you make sure that you had setting checked for HMD mode on the actor? Either way quite unstable for me.

There really shouldn’t be any difference under the same conditions. Both plugins use the same underlying data. Unity isn’t doing anything extra. Compare what you see with the diagnostic visualizer. If the hands in the app are different, then there could be something that can be fixed or optimized in the plugin or at the app level; otherwise, it sounds like a service or environmental issue.

There’s actually no event for grab or pinch in the API. It is easy to create one using the hand pinch or grab strength, though. Just set a threshold for engagement/disengagement.

We’ve just added some examples, including one with a rigged hand: Unreal 4.7 Demo Pack | Leap Motion Developers

First of all I’m very happy with this new official Leap plugin. Till now I used the event driver plugin by getnamo. Unfortunately the editor keeps crashing when I try to get a world position of rotation from only the Forearm. This does not occur when I use the Palm or Finger When I run the game and at the point the hand is recognized it crashes. Anyone alse having this problem ? Is this a bug ?
I use version UE 7.4.1

Any suggestions to improve performance? I moved my Oculus camera higher so there would be no interference. The hand tracking is generally pretty poor, it is hard to imagine being able to pinch at all. Oddly i’ve had some success with different Leap-made apps - so is it just that you guys are still working on the tracking algorithms for UE4?

Yes, it is a bug. The workaround is to make sure the Show Arm property of the LeapMotionController object is set to true.

Yes, it is odd. The way the Leap Motion software works, all the tracking algorithms are executed in the service. The code in the plugin just gets the tracking data as it comes from the service, translates the coordinate system and creates and updates the hand and bone objects. All apps should see the same tracking performance on the same computer in the same physical environment. Are you comparing HMD mode or “desktop” mode? Frame rate could be an issue. Do you get better performance if you package an Unreal app and run it outside the editor (and get a better frame rate)?

Hi jo3w4rd,

Thanks for response. I’m not sure what it was but it is working better now. Just general tracking problems, not framerate. Of course, this iteration of Leap isn’t perfect so i’m not expecting perfection. Like I said, it seems to be better now (i’m assuming it was the physical conditions - somehow something wasn’t right in my setup).

I have had UE4 crash on me three times specifically when I try to incorporate the Rigged model. Is that a known issue?

Any word on this DragonFly release? Any info on it? Even approximate date for news?

Possibly the same root cause as the one reported by Ipas above. Make sure Show Arm is set to true.

For tracking, USB bandwidth can be an issue, too. On Macs, for example, one of the USB busses is also used by any bluetooth mice, keyboards, and trackpads. On mine, I generally cannot use that port for the Leap.

(Sorry, I’ll have to defer to our PR/Marketing folks on the DragonFly.)

Just wanted to say that the way you handle threading automatically and give non-blocking access is awesome. Most robust API I’ve seen so far for any input devices.

Can someone PLEASE tell me how to install this plugin??? It took me about an hour to figure out how to get on Github and find Epic Games but now Idk how to install this plugin.

The plugin is included with the UnrealEngine source code. You don’t have to install it separately. You do, however, have to build the full engine from source. Instructions for that are in the read me for the UnrealEngine repository. Once you have done that, you can enable it for a project in the Unreal Editor Plugins browser under Devices/Input.

Hi angelicpyro143,
If you’ve gotten to the Epic Games git, ensure the branch (located under the pink bar) is either release or 4.7 and then download the zip. Once that is done on that same git webpage if you scroll down are the instructions to build the engine and launch it in debug if you choose. You can also navigate to your download and go into the binaries folder to find the editor.exe, and launch. Once launched create your project and in editor go to window>plugins>devices and click the enabled box for the leap motion controller plugin! Hope this helps.

Here are clear instructions on how to get the source code from GitHub:

All other users, you only need GitHub if you are compiling the source:

So is that saying that if I want to use my Leap Motion that I dont HAVE to get something off GitHub?
Im not trying to mod anything… Im new to this and just want to play around with my Leap Motion on UE4

Im not trying to be difficult, I do apologize its just I dont even understand what to download when i follow the instructions above…

No I don’t think it is saying that – and if it was, it would be wrong! Currently the Leap Motion plugin is ONLY available as part of the UnrealEngine source code – which you do have to get from Github and compile/build yourself. At some point it should become available as part of the binary distributions of UnrealEngine, but we aren’t there yet.

Hi jo3, thanks again for your responses. Quick and helpful! Solved.

angelicpyro143: I feel your pain. I wasn’t sure how to use Github when I was first pointed to it. Unfortunately it’s not going to be as simple as plug & play. You’re going to have to go through those steps above to get to where you want. It’s more complicated than it needs to be (not perfectly intuitive). Stick to it and you’ll find the answers by following the links and researching a bit. Best of luck…