Finding the PSVR headset position

I’m trying to work out how to get the calibrated position of the PSVR headset.

I know the camera moves with it, but if you grab the camera transform that gives you an incorrect position (same as SteamVR).

With SteamVR I had to add on the value returned by “Get Tracked Device Position and Orientation” (this was confirmed to be the correct implementation by Nick Whiting). The values returned by this node are zero on PSVR.

Instead, I tried using the “Get Orientation and Position” node. This seems to return the headset position in meters, rather than Unreal’s standard unit of centimeters.

It seems a bit odd that each platform requires a combination of different values from different places.

Is there not just a node that returns the actual position and orientation you’re rendering from?

The crux of this problem is that I want to be able to reliably parent an object to the headset on Oculus, SteamVR, and PSVR.

By calculating this manually I lag a frame behind, which means I also need to compensate for that.

The ideal solution would be to have an equivalent of the Motion Controller component but for the headset, then I wouldn’t need to do any of this.

^^ This. The motion controller component is so easy to parent to. A similar thing for the HMD would be ideal.

Does anyone know if the Get Position and Rotation node works with PSVR now? (4.14)
Otherwise, has anyone been able to get an actual world space position on the HMD?