Why is 'Play as Client' in VR Preview not working?

When I start the VR Preview with ‘Number of Players’ = 1 and ‘Net Mode’ = ‘Play as Client’, the screen will just jitter slightly when moving the HMD (Oculus Rift CV1) but the view does not move.
Everything is normal when starting with ‘Net Mode’ = 'Standalone ’ or ‘Play as Listen Server’.

Steps to reproduce:

  • Create VR Template from Launcher (either VR or CollabViewer)
  • Open Locomotion or Motion Controller
    Map.
  • Start with above mentioned parameters.

I have found that the Camera Component of my pawn will not update its relative transformation because IsHeadTrackingAllowedForWorld() (IXRTrackingSystem.cpp) seems to return false when starting with ‘Play as Client’.
Before 4.26, IsHeadTrackingAllowed was used and was independent of the world.
Now it seems that the other NetModes do not have this issue so there must be something different with how the world is handled when starting the VR preview in Play as Client Mode.

This sounds like a bug to me, but maybe I am missing something.
Does anyone have a solution, am I missing some setting to make it work?
It works in the 4.25 Collab Viewer but not in the 4.26 Collab Viewer. I found a commit where the use of the IsHeadTrackingAllowed method was changed. Could this be the culprit?

Thanks and kind regards

1 Like

Same problem here.

Fixed it by disabling “Run under one process” in the editor preferences > Level Editor > Play > Multiplayer Options [4.26]. Keep in mind that this will cause some performance issues, loading the Game will take forever and selecting more than one client will crash all clients but one.
This can’t be the ultimate solution for vr-developers though.

Cheers,
Michael

3 Likes

Thanks for the hint!
You’re right, it still looks like a bug to me but at least now I can debug networked VR with a dedicated server in-editor without much hassle.