Initial HMD Orientation broken (Oculus)?

Hi everyone,

I’m not sure if this is really a bug, or intended behaviour. This is also a difficult to explain problem, I hope I can make it clear.

The Oculus Rift behaves differently in 4.16 and 4.17. 4.16 works as expected, 4.17 does not. Let’s assume we have a scene where the Playerstart is oriented towards +X. If you look in that direction there’s all the relevant content to look at there. For the sake of simplicity we also assume that looking towards your default configured orientation (in the oculus driver) with the headset on is also +X.

Now these are all assumptions to make explaining the problem easier. As I said, I’m trying my best to make it clear. Initial attempts to explain it to a friend with some graphics didn’t really work :b

Expected behaviour for both Versions:

  • With my HMD on, I’m turned towards
    +X. I start the game and spawn ingame towards +X.
  • With my HMD on, I’m turned towards +Y
    (aka 90° to the right in UE Space). I
    start the game and spawn ingame
    towards +Y.

Behaviour in 4.16 (as intended/expected?):

  • With my HMD on, I’m turned towards
    +X. I start the game and spawn ingame towards +X.
  • With my HMD on, I’m turned towards
    +Y. I start the game and spawn ingame towards +Y

Behaviour in 4.17 (bugged?):

  • With my HMD on, I’m turned towards
    +X. I start the game and spawn ingame towards +X.
  • With my HMD on, I’m turned towards
    +Y. I start the game and spawn ingame towards +X

So basically in 4.16 the Engine + HMD always forces the user to orientate towards the same and correct orientation, the one I inteded while placing my content and setting up the headset, which is VERY important for the projects I’m working on right now.
In 4.17 however, the Engine + HMD do not seem to care what my default orientation is. The “front” is always where the HMD was rotated to when starting the game.

I’ve tried numerous things to fix it, but to no avail. Yes, theoretically the “Reset Position and Orientation” Node does exactly what I need, however this VR experience isn’t going to be supervised so it need to work the moment people put that HMD on their heads. So there’s no way for me to tell people “please turn into that direction” and click a switch.

I also can’t really use 4.16 because I need the new “HMDWornState” Node in the project which is 4.17 only. 4.16 has a similiar node called “IsHeadMountedDisplayEnabled” but that doesn’t seem to work reliably.

Do I have any chance to fix it in 4.17 except working on the Sourcecode? I really can’t do that, I’m not a coder at all, unfortunately.

You might want to check out the bug here:

It has a commit added and says fixed for 4.18. You could just comment out the line they have in OculusHMD.cpp to fix your issue without jumping to 4.18 just yet.

Thank you so much! That actually fixed it without any issues so far.