OpenXR VR Template | Feedback and Discussion

It seems this behavior is caused by the xrGetCurrentInteractionProfile() function, called by
FOpenXRHMD::GetMotionControllerData().

Testing this with a custom C++ application interfacing directly with OpenXR, I’m getting consistent results. For the first two frames before the session transitions into XR_SESSION_STATE_VISIBLE,
xrGetCurrentInteractionProfile() will return a XR_NULL_PATH instead of the set interaction profile path. If the SteamVR dashboard is open at application start, it will return XR_NULL_PATH until one frame after the session transitions into XR_SESSION_STATE_FOCUSED. If the dashboard is opened while the application is running, it is still able to get the correct path.

The OpenXR spec is unclear on if this is the correct behavior or not.

I’m testing this with the OpenXR runtime in SteamVR beta 1.20.4, using Windows 10. It would be interesting to know if other runtimes behave the same way.