TheNexusAvenger / Nexus-VR-Character-Model

Maps Roblox characters to the VR inputs of players.
MIT License
66 stars 12 forks source link

Movement and Camera Controls doesn't work properly with Steam Link VR. #32

Closed caisstuff closed 8 months ago

caisstuff commented 9 months ago

Hello, there's currently an issue when using Steam Link VR where the thumbstick movement controls do not work properly.

Movement will drop out, as if i'm just flicking the thumbstick as you will see. This also affects the camera since it will spam it as a result.

I will note I have a Meta Quest 3, I also use the Meta Quest Pro controllers with my Quest 3 most of the time, the problem is able to be replicated on both controllers but for this video example I will use the stock Quest 3 controllers.

This problem is non-existent on Virtual Desktop as you will see, it's not a problem either on Oculus Air Link, it only appears to be an issue with the recently released Steam Link for the Quest. I initially thought it was a ROBLOX issue but looking into it I've narrowed it down to the character module.

I've used the following place to demonstrate this: VR Drink Demo

The following apps were used to test this: Virtual Desktop and Steamlink

Here's the video showing the bug and comparison to how it should work with Virtual Desktop.

Hope this provides some help with bug fixing, as it makes games using this module unplayable.

Side note: This is also my first time submitting a bug report, I usually don't do these types of things so sorry if i'm not as professional with it.

TheNexusAvenger commented 9 months ago

I'm going to close this with the assumption that this is either an issue with Steam Link or Roblox. Roblox is responsible for input from the various OpenXR runtimes with any issues handled by the platform as opposed to by the developer. There should be no visible difference in the input events when switching OpenXR runtimes like this.

Please re-open this issue if you have confirmation from a Roblox engineer that this is not a Roblox problem.

caisstuff commented 9 months ago

I'm going to close this with the assumption that this is either an issue with Steam Link or Roblox. Roblox is responsible for input from the various OpenXR runtimes with any issues handled by the platform as opposed to by the developer. There should be no visible difference in the input events when switching OpenXR runtimes like this.

Please re-open this issue if you have confirmation from a Roblox engineer that this is not a Roblox problem.

Hello, this doesn't appear to be an issue normally with places that don't use the module (I should've clarified that more and demonstrated.) But to confirm I will be checking with ROBLOX.

TheNexusAvenger commented 9 months ago

I tried this out on a new headset I got and could confirm the issue. It is either a problem with Steam Link or with GetThumbstickPosition in VRInputService. The logic is a bit complicated to compensate for the Microsoft Mixed Reality. I don't plan to investigate this further, but please re-open it if you are certain that code is the problem. For now, you can get around this by slightly varying your thumbstick position while moving.

caisstuff commented 9 months ago

Alright so it's not just me.

Also, a little update; As of writing this I've been reached out by ROBLOX staff responding to my bug report, their name is Focia19.

Still awaiting a response from them as they questioned if the issue was still on-going to which I replied yes with updated footage and the repo steps I've taken, they were happy for the ton of information I gave them in my report. (Was slightly worried about that.) So ill either post another response or re-open depending on what they confirm.

Apologies for taking so long however...😅

Edit: my bug report was approved and is now live on the dev forum.

TheNexusAvenger commented 8 months ago

Re-opening this issue because my suspicion about the Windows Mixed Reality workaround was correct. This has been fixed in commit 3a81310 and will be released within the next week. This does mean that Windows Mixed Reality is no longer supported by Nexus VR Character Model. My hope is the current code works, but it is really hard to test now because the current controller bindings are among the most 🅱️roken I have ever seen for VR bindings - right trigger is button A, and everything else is nothing.

TheNexusAvenger commented 8 months ago

Fix released with V.2.9.0. Please re-open if this issue still appears with V.2.9.0.