For a while, I have been looking for a way to switch hand tracking / controller mode by script.
Unfortunately, there doesn’t seem to be any way to do it at the moment.
Now, I found that in the hand tracking mode, picking up the controller does not switch back to the controller mode.
Only when the controller presses any button, or the touch area is touched, it will automatically switch.
So I want to ask if there is any way to wake up the controller to force Quest to switch from hand tracking to controller mode?
No. If you want the user to change input method you should communicate that to the user and pause until the input method changes.
You can poll OVRInput.GetConnectedControllers() or OVRInput.GetActiveController() to determine what the active control scheme is.