Issue possessing VR hands on client

Hello, so I am making a multiplayer Titanfall inspired VR game where you can control the pilot as well as a mech. Now both the pilot pawn and the mech pawn have VR hands that I need to take control of in order to work properly, but I am currently running into an issue.

My issue is that I need to take ownership of the VR hands in order for the controls to work properly and for the VR hands to track properly with the controllers. On the server my setup seems to be working but on the client, the only way I’ve been able to figure out that sets the ownership properly is by running an event on tick in the Player Controller(which is bad for performance), but what I want to be able to do is do the setup only once when the Player Controller possesses the pilot or mech.

Idk what it is that I am missing so if anyone can tell me or how I can debug this thing it would be much appreciated! My code is as below and you can take a look at my [devlog][1] to see how the setup looks in game.

I ended up figuring this one out. Apparently I just needed an RPC from the Event on Possess and multicast it to the client’s Player Controller.

I read that possession happens on the server so I assumed the Event on Possess would get called on the client only to find out I was completely wrong. In fact the Event on Possess does not execute, I tested with print strings to find that out. After making the RPCs it worked as expected

I was running into this same issue but in a C++ project. I just found the solution so I figured I would share it here https://forums.unrealengine.com/t/vr-hands-not-tracking-moving-on-client-multiplayer/606517