Oculus center of play area wrongly assigned to HMD in 4.17.0

I am also having this issue.

You misunderstand- the nodes you mention are functioning as expected, but the rift backend appears to be auto-running the Reset Orientation and Position node when play begins, resulting in the effects Proteus is describing.

In 4.16, setting the origin to Floor Level would result in the position and rotation of your play area being considered the origin, effectively putting it in ‘roomscale mode’.

This is no longer the case in 4.17- regardless of whether the tracking origin is set to Floor Level or Eye Level, the rift will begin at the origin in XY and its starting yaw will be taken as the rotation ‘zero point’.

I seem to have that problem too. Between 4.16.3 or 4.17.0 I get different behaviours when I Play the Level in VR from the same project.

When using “Get Play Area Dimensions” from Oculus Boundary Component and spawning actors at the four corners of play area, the center of the play area is not the real center but it is the 2D position of the HMD (player). It seems that when HMD is initialized the center of play area is wrongly set.

This does not happen with SteamVR (using Get Bounds of Steam VR ChaperoneComponent).

This also does not happen with Unreal 4.15.3 and 4.16.3

The problem is new to 4.17.0

Hello Proteus,

The node “Get Play Area Dimensions” Gives the size of the play area. If you would like the points (four corners) you would need to use “Get Play Area Points”. As for functionality changing between versions, I ran a few tests and this nodes results did not very. This appears to be working as intended. I hope this information helps.

Make it a great day

After further testing I was able to reproduce this issue with the bounds being offset. I have written up a report and I have submitted to the developers for further consideration. I have a provided a link to the public tracker. Please feel free to use the link provided for future updates.

link: Unreal Engine Issues and Bug Tracker (UE-48260)

Make it a great day

Thanks Rudy. Is there a quick BP work around we can use To enjoy 4.17 new features until this offset issue is adjusted?

I second - This does not resolves the problem I can confirm - So when you enter VR there is no longer roomscale, you are automatically assigned at the center of the room no matter where you are in reality. Please don’t flag that as answered :slight_smile:

Hello Stéphane Bourez,

I do not have a workaround for this issue at this time.

Hi Rudy, I see that a 4.17 hotfix just went out, but there’s been no word on a fix for this issue. Can you give us an idea of when this will be looked at?

Rift roomscale is a pretty major feature to be broken, and given the lack of workaround I’m concerned that this is going to get lost in the shuffle due to low visibility and make 4.17 a non-option for VR development.

Hello ShiftyAxel,

I understand your concern. There is not a timeline in place for the resolution of this issue at this time. However, when there is more information available it will be added to the public tracker. Please feel free to use the link provided for future updates.

Make it a great day

Hi Rudy,

Has there been any more information on this issue? We’re looking at doing a submission soon and was wondering if there was at least a work around for this or something that we can call to at least reset the play centre and orientation to be correct.

Hello Pots4,

Please use the link provided for future updates on this issue. I do not have a workaround for this issue at this time.

Make it a great day

Hello everyone,

we also had such a problem.

We found a way to solve this using BP. Here it is:

You need to get rotation of one tracking sensors, no mater which one exactly. Then convert it to relative rotation regarding to current orientation and then using result(180 - Yaw from result) apply Reset Orientation and Position node. We call this in Begin Play event in Level Blueprint, but you may use it where you want (but not use in Tick, it is night mare).
For example you want to add posibility to switch orientation by player during gameplay or if you have colibration feature inside your game.

Note: to keep right positon chose Oritetation parametr from enum, if you choose Orientation and Postion then position resets to where you stand right now.

Note2: If you use just Yaw instead of 180 - Yaw, then you will see backwards.

Thanks, this helps with rotation, but not with position in roomscale (even if “orientation with position” set). By the way it’s already fixed in 4.18.

In 4.18, “Get Play Area Points” wrongly returns points offset from the position of the HMD instead of VROrigin. Just subtract each point by the HMD’s offset from VROrigin, which can be retrieved from “Get Orientation and Position.”

In 4.18, “Get Play Area Points” returns points offset from the position of the HMD instead of VROrigin. Just subtract each point by the HMD’s offset from VROrigin, which can be retrieved from “Get Orientation and Position.”