VR Template Multiplayer Replication Issues - 5.0.3

Hello! I am working on a project that requires multiplayer functionality that is based on the UE5 VR Template. While I already have working logic for hosting and joining sessions through a listen server, I am having issues with making sure that the both the VRPawn (what the template uses instead of a standard Character for the VR Configuration) and the level itself. While it seems like everything is functioning perfectly for the server controlled player, where the host’s players and changes to the level are being replicated correctly to all of the clients, it seems to be inconsistent going in the other direction despite the use of Server and Multicast Events to update the location and rotation of various objects in the level on each tick.

For example, here is the OnTick event I have created for the VRPawn blueprint that takes the position and rotation of the the UMD headset static mesh component and the component for each hand controller, updates them through the server then multicasts them back. Oddly enough, it seems to correctly and visibly replicate the mesh of the client’s hand to the server, though for some reason their mesh becomes invisible to the owning player (the client) however the interaction events remain functional. Additionally, through the exact same blueprint the headset does not update to the server at all. I have made sure that all of the Replicates, Replicate Movement and Component Replicates field are all enabled as they should be.

I have similar logic on some of the other interactable objects in the scene and it is also hit or miss on those… If anyone has any feedback, advice or ideas on how I could solve this issue it would be greatly appreciated! Thanks!

Hello @botansky31 and welcome to the community!

I hope you won’t feel judged by what I’m going to write but VR movement replication is a really difficult and painful subject since it involves a lot of data communication (and prevision) between server and clients. That’s pretty much impossible using bp only. The best advice I can give you is to check out VRExpansion Plugin. It’s fantastic and it has everything you need right out of the box.

It’s under MIT License, so, totally free and approved by Epic (the dev got an Epic MegaGrant).

This plugin will also save you so much time, you should definitively give it a try!


Thank you for the help! I tried their sample project and it seems to be so much easier to work with!

1 Like