The battery level indicator in Unity is a wrapper around the C API that displays that level in Daydream Home. Has the level ever matched that in VrHome? Could you please try charging the controller for a few hours, to see if it goes back up to 5?
I fully charged my controller. In daydream home I see 5 green lights.
Can read every other property of GvrController OK.
But reading GvrController.BatteryLevel I get GvrControllerBatteryLevel.Unknown == 0.
I logged the raw returned enum on a running device.
I posted above I got 1, I was mistaken as that was clamped in my display function, i get 0 all the time.
I see the same results for GvrControllerBatteryLevel :
a) in VrHome I see 2 lights (Low) but in my Unity app I get Unknown.
b) I charged the controller overnight and see 5 lights (Full) in VrHome, but still get Unknown in my Unity app.
c) The level never matches that in VrHome (Unity app is always Unknown).
I’m using:
Unity 5.6.1p3
GVR Unity SDK 1.60
Daydream Renderer 1.0
Moto Z Force Droid, Android 7.0
The battery indicator should work if you use Unity 5.6.2f1.
Additionally, in the next release of the GVR SDK the battery indicator will be hidden if the battery state is unavailable instead of showing a question mark.