Hi, I had a question regarding the motion controller component. I recently moved a vr project over to ue5 and I discovered my hands were rotated 90 degrees: unreal seems to think the “forward” direction of the actors now point directly upward of where my hands are directed.
For the life of me I cant find a way to adjust the rotation of the motion controller component to fix this. While I can adjust anything parented beneath that component, the component itself will ignore rotations. Alternatively, forcing rotations on the hands through parenting or other means tends to cause odd hand inputs.
Anyway, hopefully there is an easy fix im ignorant of?
I managed to solve this, it appears that correctly setting the “motion source” on the motion controller component is all important. Traditionally I had been setting this to “left” or “right”. However, in my case I needed to use the “left_aim” or “right_aim” value and that solved the issue.
Interesting solution, I’m glad it works for you but it’s not 1:1 with what you previously had. OculusVR and SteamVR both had their own controller orientations. With OpenXR there’s now a new standard, which means that the orientation has changed from what it used to be. You can’t edit the MotionController rotation as that’s determined by the VR Runtime, but you can change the relative rotation of anything that’s attached to them. Which is something you have to do when converting from Oculus/SteamVR to OpenXR.
Hi, I have tried your method by changing the motion source but somehow that did not fix my problem, as my controllers are still using the grip pose. May I ask how did you setup your motion controller components?
I encountered this issue when migrating from UE5.1 to UE5.4.
In Controller motion source, instead of using Left-Right, use LeftAim and RightAim. These are the ones that are being used in VR template. You can do it in BP easily by going to motion controller component. If you want to set in cpp, do like this: LeftController->SetTrackingMotionSource(FName("LeftAim"));