Are there any specific docs about what exactly is going on when the user removes the HMD and the screen goes black (are some scripts paused?)? I make applications for large scale presentations and sometimes the HMDs need to sit idle for a while before someone uses them. In an effort to maximize battery, i wrote a small script that subscribes to the OVRManager's events about the HMD being removed from the user's head. The script loads a scene that is completely empty (minus the OVR Camera Rig), when the user takes the headset off. Then when they put it back on, it loads the main scene. This all happens quickly enough that it's not even noticeable to the user. I was able to achieve a battery drain of around 3% per hour (while idle) by doing that. However, I wanted to allow people to remove it briefly and still be able to go back to where they left off so i added a 20 second countdown before it switched the scene. Once I did that, the script stopped working. Any delay that lasts more than a second or two will cause it to fail. I'm assuming my script is getting paused. My original reason for doing this was that i would see up to 30% drain while the HMD was just idling if my scene was loaded. So clearly some things are allowed to keep running while the headset screen is off, but my script is being paused. Does anyone know why that is?
EDIT: I tried lowering my timeout to 9 seconds and that does work, but i'd still like to see whatever documentation may exist about this and maybe figure out a way to go longer than that amount.