Showing results for 
Search instead for 
Did you mean: 

How to get Oculus Rift/Rift S touch controllers battery level?

Honored Guest

I urgently need to access to touch controllers battery level from Unity, i know it's available somewhere because we can see the battery level in the Oculus Software, but I tried several ways and no method works:

1) In Unity, use Oculus Utilities asset's OVRInput.GetControllerBatteryPercentRemaining() method:
It returns 0 and the method's summary says "Retuns the battery percentage remaining for the specified controller. Values range from 0 to 100. Only applicable to controllers that report battery level, such as the GearVR Controller. Returns 0 for controllers that do not report battery level" so i concluded that Touch Controllers don't report battery level to OVRInput.
This person has the same problem :  and Oculus given no answer.

2) In Unity, use the 
OpenVR.System.GetFloatTrackedDeviceProperty() method as it's adviced here:
The method returns a TrackedProp_UnknownProperty error for each controller device id.

3) Search in Oculus SDK ( methods:
There is no occurrence of "battery" word in the sdk folder and the ovrTrackingState::HandPoses and ovrInputState objects only provides position/orientation/velocity/accelerations/buttonPress informations. 
This person has the same problem ( and Oculus given no answer.

Anyone has found a solution for this problem? 

Software versions used:
Unity 2019.2.7f2
Unity Oculus Utilities 
1.31 and 1.40
Oculus SDK 1.40