Guides:SteamVR Bindings

From VRChat Wiki
Revision as of 00:18, 28 August 2024 by ZenithVal (talk | contribs) (SteamVR input explanation, access method, & an issue.)
IconOnly CL Portal.png
V · ECommunity-written content
The following was created by the community. It may contain material not directly endorsed by the VRChat team. To learn more, consider reading Contributing to the VRChat Wiki.
Tools.png
V · EThis page is a work in progress
This page is actively being worked on, information may be incomplete or out of date. You can help the VRChat Wiki by editing it.
[Reason: No reason provided.]

SteamVR input is a universal keybind system for all controllers usable in SteamVR. Instead of binding keys like "space" to jump, VR game developers provide actions we can directly bind to inputs on SteamVR controllers. The UI also provides a way for users to find or share community bindings. [1]

Official VRChat SteamVR Input 2.0 documentation[2]

Official VRChat SteamVR input 2.0 FAQ[3]

Where

Standard method

  1. Open SteamVR
  2. Find Settings
  3. Select Controllers
  4. Set Advanced Setting to Show
  5. Select Show Binding UI
  6. Select VRChat from the list of applications

Accessing VRChat Bindings.png

Via web browser

  1. Go to http://localhost:27062/dashboard/controllerbinding.html while SteamVR is running
  2. Select VRChat from the list of applications

Via VRChat

  1. Open the main menu
  2. Go to Controls
  3. Select ""

Glossary

Terms Explanation
Bindings A complete set of bindings between inputs and actions that can be saved and shared in the Steam Workshop.
Action Behavior that can be bound to inputs or chords, like movement, selection, or bringing up the camera or personal mirror.
Action Set A group of actions that corresponds to a specific context, like using the menu or action menu, or global actions that are available in any context.
Control Source A specific actuator on a controller, like a joystick, trigger, button, or trackpad.
Control source mode A mapping that defines how a control source's movements or sensors are interpreted as inputs.

For example, a trackpad can be mapped as dpad or a button, and a joystick can be mapped as joystick or scroll wheel.

Input A specific movement or sensor reading from a control, interpreted through a control source mode.

For example, a button's control source mode might provide touch, press, hold, or double-press inputs.

From the official docs.

Walkthroughs

Adding new inputs

TODO

Double tap menu

TODO

Creating Chords

TODO

Dead zones

TODO

Trigger thresholds

TODO

Changing haptics

TODO

DPAD overlap percentage

TODO


Don'ts

There's certain things you can do in bindings that can cause issues. Try to avoid these when possible

Multiple actions on per control

When you bind multiple actions like this, it stops them from functioning instantaneously and makes them a bit unpredictable. [1]

(Image upload pending)


A functional use case would be setting action menu to press and quick menu to double; it introduces a small delay on the action menu input which can be interrupted by a double click to open the quick menu without accidentally opening the action menu.


Controller info & fixes

All

Can't do gestures at all

By default coming into the Input 2.0 update, gestures were set to disabled.

TODO: walkthrough showing how to enable them in the radial menu

Disabling new hand poses / finger tracking

TODO: add an image pointing out the toggle in the controls section of the main menu.

Default & Community bindings

TODO: guide to the binding select page with an image.

TODO: Link to SteamVR beta for a fix on community bindings (remove later when fixed)

Hard bindings reset

In rare cases, a full hard reset of your bindings may be needed due to issues with SteamVR.

TODO

Vive

Vive is a little special, two default binding modes are available with different feature sets. (TODO: write about them)

No touch to move / Emotes are "sticky"

It's likely that you previously used Vive Advanced controls before Input 2.0. You can restore Advanced behavior you're used to by switching from Default Bindings over to the Default Advanced Bindings which can be found on the bindings select page.

Difficulty moving

The default thresholds for movement on Vive controllers require you to hit the very edges of the touchpad. This can be changed by adjusting Dead zones.

TODO: Recommended values for Simple & Advanced

Accidental jumping

With a mix of adjustments to Overlap percentage & Dead zone on the Trackpad DPADs, you can restore pre-Input 2.0 behavior.

TODO: Recommended values for both

Grip isn't doing hand open / Isn't clearing gestures

This seems to be an oversight with Vive Advanced Bindings, you'll need to add the Gesture_wheel_cancel_open_left & right actions to your grips as a Button press inputs.

TODO: image showing what the newly added button should look like

Index

Easier item holding / Auto Hold

HP Reverb G2

TODO: More controller types, need users with more experience on other types.

References