Skip to main content
October 5, 2017

Unity3D GearVR Controller Not Recentering

I'm trying to recenter the GearVR motion controller via code in my Unity3D game. I've tried called to OVRInput.RecenterController(), OVRInput.RecenterController(OVRInput.Controller.All), and InputTracking.Recenter(). None of these have worked, is this functionality broken, or is there something else I need to do besides calling the recenter function?

EDIT:
After debugging the OVRPlugin class, everything seems to be returning that re-centering was successful. It's logging 4 controllers connected (which is odd, because the only controller connected is the Motion controller), each controller is registering as needing to be re-centered, and OVRPlugin.RecenterTrackingOrigin(OVRPlugin.RecenterFlags.Controllers) is returning true. It seems like Oculus thinks everything is re-centering correctly, but the controller is still facing the wrong direction.
Pressing the Home button re-centers the controller properly, but I'm looking for a way to do this from code for a large-scale ride.

EDIT 2:
Using verbose logging with ADB, I'm seeing the following error message whenever I call OVRInput.RecenterController()
VrApi_Input: vrapi_RecenterInputPose: has been DEPRECATED
Does this mean this is an issue with OVRInput? I'd be surprised to hear this has gone unnoticed so far, I imagine many people would want to recenter GearVR controllers.
This topic has been closed for replies.

8 replies

Inspiring
October 5, 2017
Moving to Unity developer section.
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
October 5, 2017
Another update:
While the OVRPlugin.RecenterTrackingOrigin() is returning true, subsequent calls to OVRInput.GetControllerWasRecentered() returns false, and OVRInput.GetControllerRecenterCount() returns 0. For some reason OVRPlugin seems to think it's correctly recentering the controller, but none of the other methods reflect this.

I'm using Unity 5.6.3p4, and OVRPlugin 1.18.1, with the latest OVRUtilities package.
October 6, 2017
Anyone have any ideas on this? Is anyone able to successfully re-orient controllers via code with GearVR?
October 9, 2017


@Anselm

Hi, we received your developer ticket and have responded with the below explanation of what is happening. I am also posting this to the forums so that others can be aware of this change in our mobile SDK.
------------
The function 'vrapi_RecenterInputPose()' has been deprecated from the mobile SDK -- it is now a no-op and the next SDK removes it completely. Applications are recommended to instead instruct the user to perform the "long-press on Home" shortcut to recenter the controller.




The issue I have with this is that this app is going in a theme-park like environment. Not on the app store. We have restricted access to the home and back buttons on the controller to prevent users from accidentally pressing them during a show. We need some way for a host to remotely recenter the controllers if they get out of whack.
Participant
November 28, 2017
Hi Anselm, do you get a solution for this? Because i tested OculusUtilities_1.20 and OculusUtilities_1.15 and none of them worked. Thanks

Imperativity :t I can see is downgrading your version of Mobile SDK to a release that still incorporates this functionality (1.15 and prior). 
could you tell what version would work? because i tested with 1.15 and dont work.
Thanks
Participant
November 28, 2017
1.14 also doesnt work ...
Participant
November 28, 2017
1.13 doenst have RecenterController() implemented... sugestions? thanks
Participant
November 30, 2017
and thats a good example why i should stop using close source software