Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
193 stars 9 forks source link

On wireless headset disconnect, Out Of Headset flag is stuck on, and controllers stop providing input (preventing the Out Of Headset workaround). #1885

Closed Earthmark closed 3 years ago

Earthmark commented 3 years ago

Describe the bug

When an OG vive through a wireless module looses connection, the user enters an Out Of Headset state. When they re-enter their headset that state does not reset, but this is a long running bug. The workaround for this was a gesture to mass-click buttons for a few seconds, and that would reset the Out Of Headset flag.

However, now when the OG vive disconnects and the user enters an Out Of Headset state, their controllers no longer seem to provide input either. Their controllers are locked in place in the slot hierarchy and seem to not provide button or finger input. Trackers and the headset seem to provide input just fine, only the controllers are affected.

The bluetooth module should also be in the link box, so the headset disconnecting should not effect the controller tracking at a hardware level at least.

Relevant issues

The changelong as Shifty found in 2021.2.22.855.

Added heuristic to detect broken user presence in the headset (headset/SteamVR reporting that user is not in the headset, while they are) to fix blocked interactions, closed eyes and auto-away status (based on reports by @ Rue Shejn | Artist 3D, @ Rukio, @ Princess and others) -- The presence status will be reset if there are at least 8 trigger presses detected within last 15 seconds, while headset or controllers are moving

To Reproduce

Have an original vive with a wireless adaptor. Interact in NeosVR Change the adaptor batteries Attempt to continue using Neos See that the headset is stuck in Out Of Headset mode. (and the controllers are no longer tracking) Attempt to do the reset gesture See that the headset is still stuck in Out Of Headset mode. (and the controllers are still not tracking)

Expected behavior

Neos recognizes that the user is in the headset, and the controllers do not lose function during the original bug conditions.

Screenshots / Video

Bug information (please complete the following information):

Additional context

The current hard fix is to restart neos, which leads to interesting social situations where if they are the world host, they are unable to save the world due to controllers being unresponsive but still being able to interact with everyone in the world vocally.

Reporters:

Earthmark, Earthmark#0314 Commander Fayne, Commander Fayne#7929

shiftyscales commented 3 years ago

Is this issue resolved if the user removes their headset, and places it back on to reset the presence sensor on the device?

As for the related issue/feature you're talking about, I believe you mean:

  • Added heuristic to detect broken user presence in the headset (headset/SteamVR reporting that user is not in the headset, while they are) to fix blocked interactions, closed eyes and auto-away status (based on reports by @ Rue Shejn | Artist 3D, @ Rukio, @ Princess and others) -- The presence status will be reset if there are at least 8 trigger presses detected within last 15 seconds, while headset or controllers are moving

Which was introduced in 2021.2.22.855. https://discord.com/channels/402159838827905024/469131434628612116/813414754994356244

Also, please do your best to keep reports professional @Earthmark. There is no need to use all-caps/use emotional language. Stick to presenting the issue objectively. The "additional context" you've provided is uncalled for/inappropriate to add. If they need to restart Neos to resolve the issue, just say that instead.

Earthmark commented 3 years ago

Removing their headset and putting it back on their head does not reset the presence sensor. The effect would seem more like once their headset disconnects even for a moment, when it is reconnected the sensor is never used to report them as back. They are permanently shown as away.

Also, yes those are the related issues. At this time though the presence reset command seems to not work anymore, possibly due to the controllers seeming to be ignored while the user is counted as not in the headset.

My apologies about the misinterpertation. The goal was to highlight that one of the key components of the issue was that the gesture seems to not work while marked as away. I know how easy it is to miss an important detail like that so I wanted to highlight it.

Also, I personally disagree that it's uncalled for to bring up how the issue is affecting the users play experience. If it is a trivial thing that's easy to resolve then that is one thing. However this bug instills a feeling of strong annoyance in the user as their headset is marked as away, and their controllers no longer even track after changing a battery. Their headset tracks and they have microphone usability, so they're able to exist in the world, just no longer able to interact physically. It gives the feeling of dangling usability in front of the user which leads to feelings of resentment. The feature in question has in the past gotten this response when the feature misfires, and I felt it was important to highlight that this keeps incurring a game-ending experience and builds resentment for what is perceived as a convince feature.

Earthmark commented 3 years ago

Next time I'll try to go more factual with my descriptions, my apologies about the ambiguity and fluff in the original report.

Frooxius commented 3 years ago

Can you send me logs for this please? Both Neos and Player.log

The out of headset status doesn't affect tracking at all, there's no mechanism that would do that in Neos, so the gesture to reset this state is irrelevant here (the gesture only works for resetting the Away status, which blocks some UI interactions, but doesn't block any tracking or other inputs at all).

Given that the controllers stop completely, this seems like it might be something that happens in the SteamVR layer, but I'm not sure. Logs would help see if there's any culprit in Neos.

Earthmark commented 3 years ago

This is likely due to a user side software issue, as the issue has now occurred in another piece of VR software as well. So, closing this as it's not a neos issue!