Multiplayer VR Pawn arc/locomotion not working


I’m pulling my hair for a few days trying to understand what’s going on with my app. To make it short, I’ve developing a VR game and have set up everything to work well for single player and everything works when I launch the game into my Oculus (GO for now). I then succeeded at creating a server on my pc and connect different players, make them choose different pawns ( thirdpersoncharacter or MotionControllerPawn) and everybody is seeing everybody, however my MotionControllerPawn can’t teleport in Multiplayer mode. It does work in singleplayer through the launch button in UE4, but once I connect to the server and possess an existing Pawn or not in the level, the teleportation arc seems to bug and extends only ~30cm away from the controller…

I assume the difference must be a replication issue where the player tries to throw the arc but not the server, therefore the non-replicated arc from the server gets forced into the player controller. Or could it be that the arc thrown from the controller reached an object around the controller? But that wouldn’t make sense since the exact same scene works in single player.

Has anyone ran into this issue or naturally understand what’s the problem btwn the server and client? I assume some attributes/components are to be replicated in the MotionControllerPawn/HMDLocomotionPawn/BP_MotionController blueprints but which ones? I’ve tried them all, a few, none, nothing helped.

Here’s my Gamemod screen

Thanks, I’ll take any tips

Hello, I wouldn’t think it’d come from there but let me check if I have the same results for single and multiplayer.

I have the same hit results (blockingvolumes) in both cases … The tip of the arc ( about 20/30cm from the controller ) is flickering a bit in game making me think there might be something related to tickevent battling btwn the client and server…

The short arc sounds like you have a collision problem, where the arc is hitting someting close to your pawn, have you tried printing the hit result when you teleport?

in the BP_MotionController , in the function TraceTeleportDestination , try printing the hit actor like shown below. This might clear things up.

All right, so I started a new VirtualReality project in 4.25 to use with OculusGo ( Android minimum SDK version = 19, Target SDK version = 28, NVPACK/android-ndk-r21d).
The default MotionControllerMap works normally when launched on the OculusGo ( android ).
I create a simple GamemodeTest ( see the screenshot ) that I give as an override to the MotionControllerMap in the world settings.
I use the StartupMap to launch on the oculus with only an input event (GrabLeft/GrabRight) calling openLevel pointing towards the server ip (local networkd for now with local ip 192.168…) with Absolute ticked for openlevel.

I create a .bat file to start a server on my PC with arguments : MotionControllerMap -server -log -nosteam
I launch the StartupMap on the oculus, pull the trigger that calls the function OpenLevel, it doesn connect to the server, possesses the only MotionControllePawn, and then the teleportation has the issue and doesn’t shoot further than a few cm/inches…

You’ve probably solved this by now, but it sounds like your navmesh isn’t being generated for clients. This is a tick box that needs to be set.

Project Settings > Engine > Navigation System > Allow Client Side Navigation