Leap Motion Plugin Network Replication

I’m trying use the Leap Motion plugin to give networked VR pawns their own Leap Motion controlled hands.

At the moment, I’m using UE4.13 Preview 2 and the Oculus CV1. I have modified the HMDLocomotion pawn to add a LeapEchoRiggedHandsActor as a Child Actor on the camera. When running a single instance of the game on one computer, this works great, I can see some rigged and animated hands thanks to the Leap Motion. When I package and run the project on two different computers, one hosting and one as a client, my network session blueprints work correctly - both players can see each other, and can see hands on the VR pawns, but the hand animations for all VR pawns are driven by the local player’s leap motion device.

Essentially I think I need to modify the LeapController.cpp file to correctly replicate rigged hand animation data from clients to servers, and vice versa.

Has anyone else tried this? Is this the correct way to approach the problem?

Related questions;

Hi ! I’m not working on this issue for now cause I have to focus on other things. But I will later for sure.

I think there are two ways to solve this:

  • Serialize the LeapHand data and send it to the server. The server send this data to all other clients. Each client then unserialize the data and animate the hand properly. This solutions needs a quite advanced knowledge of Unreal animations which I don’t.

  • Following the How to use it - Blueprint - Event Driven of https://github.com/getnamo/leap-ue4, you can send manually each bone position and try to animate the hand properly. The issue is the same, you need advanced knowledge of Unreal animation. But if you display sphere shapes at bones position you will see hands though the network

  • Modify the whole plugin to make hands replicated using Unreal replications mechanics. I think this is the cleaner and easier way to do it as you suggested.

Since I’m quite a beginner in UE4, I suggest you also look into your own solution too so you may find a better one !

Good luck ! Best regards.

Thanks for the input! I’ll post on the Leap motion plugin forum if I find a good solution.