[Plugin] Leap Motion - Event Driven

Yes, I should clarify though, this was for UE 4.10. Whatever magic was done for the 4.11 plugin has fixed the issue (it looks like mostly wrapping everything in UPROPERTY and modifying the private classes some). However in 4.10 all you have to do to replicate is:

>make a blank character
>add the leap interface
>add the “handsmoved” event node to the event graph
>from the LeapHand that is returned by the “handsmoved” node call “fingers”
>play and hold hand in front of face for ~1 minute

this should be enough to cause the crash as it happens specifically in the “setfingerlist” function when you say _private->fingers = fingers which is triggered on calling “fingers” from blueprint. If you’d like me to actually build a blueprint and post it here I can, but the steps are fairly simple.

Also, using Rift DK2 (I’ve tried plugging the leap into the headset and into the computer, doesn’t make a difference)

Thanks again!

NOTE: We’ve moved to 4.11 anyway so it doesn’t really matter anymore I suppose (last post was before that decision was made). However this may still be useful information for people stuck on the older versions.

echo_lo_L_PhysicsAsset incorrect collision setup

Hi getnamo, echo_lo_L_PhysicsAsset has incorrect collision setup, there are unnecessary capsules obstructing of line trace from HMD, deleting them fixes the issue. Goodday

Sounds like it was a garbage collection issue. Good to hear it’s been resolved in 4.11.

Nice fix, could you make a pull request with the modified asset on the github page?

I got it working, thanks! Do you have any tips for upgrading my 4.10 project to 4.11 by the way? Do I upgrade and re-parent my subclasses (I’ve subclassed LeapEchoCollisionCharacter from the plugins folder) or how would I do it as painless as possible without breaking any references?

Upgrade and set your ActiveClass redirects?

MyGameDir\Config\DefaultEngine.ini see Reparent a blueprint with parent class : none - UE4 AnswerHub

not sure it’s always been a bit painful for me :stuck_out_tongue: If you find a good way, let me know!

Guess there’s no way for an upgrade to be painless :stuck_out_tongue: I’ll experiment and see what I can come up with!

Hey Getnamo
Im trying to follow Your tutorial on jenga blocks, but im still stumped, Leap echo Hands doesn’t seem to generate OnCollisionEvent (although they collide properly with other physic meshes), this is the first time something like this is happening for me in Unreal Engine.


I feel like I must be missing something here. I am trying to use this plugin completely from C++. I added an instance of ULeapController as a component on my custom actor. I inherited from ILeapEventInterface. But when I tried to override the callback methods, I found that they are not virtual. Am I misunderstanding something here, or is C++ integration currently impossible?


Hey Getnamo, I’m trying to check out the AR/VR transition example in your guide. After activating the plugin in 4.11.1 I can change the default pawn class to the passthrough example, but when I go to change player controller there is not a VRplayerController listed. In the preview mode the passthrough works, but is unable to switch with the gesture. I’m pretty new to all this and feel like I’m missing something simple. Any help you can give would be great. Thanks!

Okay here’ a quickie: id like to make an object with raw feed from leap motion camera as its material, how can I do it? Currently im trying to feed dynamic material with left camera image but during runtime its not working.

Hi getnamo. There is a problem with overlap events. When I attach a mesh to hand socket (echo hands), overlap event triggers on and off constantly (every frame?). Everything is ok when this mesh is not attached to the socket (overlap events are fired only once). Any ideas on how to fix it? Thanks.

Everytime I try and enable to leap motion plugin with 4.11.0 in a new project I get a crash when I restart.

now is apply only hand direction in world.
I want to get direction of swipe gesture by hmd direction.
How do i get that? sorry about that poor english^^leap_gesture_bp.JPG

now is apply only hand direction in world.
I want to get direction of swipe gesture by hmd direction.
How do i get that? sorry about that poor english^^leap_gesture_bp.JPG

After using floating image hands i’ve got this error and crash:

its fresh install of ue 4.11 with official leapmotion plugin test level .

Has anyone else encountered the following message with the 4.11 update?

I got this both when I tried to update an existing project from 4.10.4 to 4.11 as well as on a new blank project with the default pawn being a subclass of LeapFloatingHandsCharacter.

Any ideas what this could be?

Super quick question. Is is possible to use a custom avatar with the plugin? With the ability to track only the left or right hand via blueprints? I’ve gone over the “Add Convenience Leap Hands to Custom Character” on the github page and can’t seem to get the plugin to pick up my avatar. This is on 4.11.2 source build too.

Hey guys,

Just letting you know I’ve released a Blueprints Getting Started Guide for working LeapMotion in Unreal. I also show how to display the passthrough cam on objects within the world.

If you’re interested, check it out here:

Hello All, I’m rather new to BP and Leap in general, but I’m picking it up rather quickly.

I’m wondering if someone can point me to any information on how I might ‘customize’ a hand with custom geo!? I’m still trying to grasp how it’s all connected. I’m wanting to create my own mesh and skin it to the skeleton that is driven by the Leap system.

Thanks for any help in advance.

<edit>Assume I already can generate my mesh in my own 3d package, I’m speaking BP/Leap specifics… thanks</edit>

Last Post Answered:: Well, that turned out to be much easier than I had anticipated. I was able to setup some sockets on the joints, and apply custom meshes to it, no problem. – So that’s good.

My next question is: How can I mirror the Y input of the Leap, so that if I’m looking AT the HMD instead of from it, I can create a ‘mirror’ effect. As it is setup now, if I move the camera and look back at the HMD, the Leap controller’s hands move correctly, yet opposite of what you’d want if you were looking in a mirror. At first I thought I could simply negate the screenspace Y, but that seems to be rather complicated in Unreal for some reason. So now I’m looking to see if I can inverse the Y input from the leap!? I’ve poked around in the LeapAnimBodyConnector, but am still trying to wrap my head around it all.

Any advice on how best to create this effect, would be greatly appreciated.