I'm working on some GearVR applications made with Unity 5, some of them have been made in February and never touched again. I'm using a Note4 for my development.
I noticed that while running the application, if I remove the headset (and you hear the BO-BIP! sound), the screen turns black but the app continues to run for like 10 seconds... as far as I recall, back in February the app paused immediately when removing the headset.
Did I miss some change? Any advice on how to modify this setting to make the application pause instantly? (Is it a development setting or is it a general setting in the GearVR?)
We relay the unmount event to the app as soon as we get it from the Gear VR Service. Has it been a while since you updated that? It has had a known ~10s delay for some time now.
I didn't really pay attention to that, I'm just sure that during February there wasn't delay. I update the phone without paying a lot of attention... I noticed that, as you said, there's this 10s delay, only during the last week, as a pure coincidence on the app I'm developing now. Also on the apps I developed in February there's now this delay.
Is there any way to reduce the delay from developer side? (I'm currently using Unity)
Sorry, but there isn't a lower-latency way to read the proximity sensor. You could maybe watch the orientation reading from the IMU to notice if the user has put the HMD down or stopped moving in a "head-like" way, but it will be non-trivial.
But how come few months ago the application I was running instantly got paused? Maybe I wasn't clear enough in my explanation.
What actually does correctly is turning the screen black as soon as I get the headset off. So I guess the proximity sensor is doing his work quite well! But I can hear the audio and the application running for the 10 seconds, which didn't do few months ago
Still confirming that there's nothing I can do, expect some workarounds?