drash wrote:It specifically says to press any key to continue, but that's not always the case. What is the exact condition for dismissing it?
Right now, the SDK requires you to call ovrHmd_DismissHSWDisplay to dismiss the display. This function will only actually dismiss the display if the required time has elapsed. If the function is called before the required time has elapsed, it will queue a dismissal to occur as soon as the required time has elapsed. The required time is 4 seconds is the user's Oculus profile has never been seen before, otherwise it is 2 seconds. In debug builds, the required time is always 2 seconds in debug builds regardless. (For some reason, this is done in HSWDisplay::TickState in a strange manner rather than just doing it in HSWDisplay::Display)
Anything beyond what is described above must be handled by your application. So it is up to devs to properly implement calling ovrHmd_DismissHSWDisplay on any key press.
drash wrote:I think that in the end, the safety warning should show up by itself before the program starts, rather than be overlaid on whatever program is running, and it should be clear in how to dismiss it & proceed (and be able to actually continue with any keypress). Small touches could make this warning more seamless and user-friendly, which would then go a long way toward achieving its intended purpose.
Yup, it is definitely pretty rough around the edges, but I'm sure they plan to polish it more. For instance, I'd like to see the "Press any key to acknowledge" part only appear after the required time has passed. (Like the Wii's safety warning.)
cybereality wrote:Please don't attempt to disable the warning. It's there for a reason.
I'm not sure about the legal stuff involved here, but is the warning protecting Oculus or the developers? It'd be nice if we could replace it with our own warning without hacking at the SDK. For instance, in my project I would rather show the warning in an all-black room with it rubber-banding to the user's view, and if I'd rather the message automatically change to "Press A to acknowledge" if the player is an Xbox controller. (I know ovrhmd_EnableHSWDisplaySDKRender implies you guys are planning to allow this scenario, but I thought I should make my concerns known in case it might get axed.)
Elecman wrote:What is the proper way to get rid of the health and safety warning in Unity?
As I stated above, you can't dismiss it before the timeout happens. I don't know if it is exposed in the Unity plugin, but there is a function called "ovrhmd_EnableHSWDisplaySDKRender" labeled as experimental. It looks like it is meant for people wanting to render their own warning, but I guess if you never render your own warning then it is effectively an off switch.
However, like cybereality said, the warning is there for a reason. I'd recommend to turn it back on for builds of your project that you distribute to people.