StretchSense SteamVR VRChat Guide

StretchSense SteamVR VRChat Guide

https://store.steampowered.com/app/438100/VRChat/

Required Materials

Software

The below software is required for this guide, except those marked as optional:

TIP: Installers for the StretchSense SteamVR App can be downloaded from the My Account → Software Downloads section of the StretchSense website.

Description Version
Hand Engine 3.2.0-LITE
Steam Desktop Client latest
SteamVR 2.7.4
StretchSense Driver Add-On for SteamVR (Included with StretchSense SteamVR App installer) latest
StretchSense SteamVR App 0.6.0
VRChat Creator Companion (optional) 2.3.2

Hardware

The below optional hardware may improve your VRChat experience:

Description Image
Mini Wireless Bluetooth Gamepad VR Controller (optional) Mini-Wireless-Bluetooth-Gamepad-VR-Controller-Remote-Pad-For-IOS-Android-Smartphone-PC-Laptop-Game-Accessories.jpg_.png

General Notes

As of VRChat 2024.3.1, this has some built in finger touch gestures that may interfere with the StretchSense SteamVR App button emulation. In particular, it seems like the activation detection for held objects is performed by the contact distance between the index finger and thumb and this is independent of the grip button being pressed down.

WARNING: In v0.6.0 of the StretchSense SteamVR App, there is a known issue when OSC apps and drivers like VRCFaceTracking (VRCFT), Virtual Motion Tracker and Double Hip Tracker are used with VRChat and the StretchSense SteamVR App and OpenGloves SteamVR add-on. You must change these OSC apps to use different ports than 9000. You must also configure VRChat to use these updated ports. See more in the OSC Port Collisions with VRChat section of this guide.

SteamVR Controller Profile

  1. In Windows, unzip and place the profile json in %USERPROFILE%\Documents\steamvr\input:
    VRChat Controller Profile 20240826.zip
  2. Open SteamVR Settings → Controllers → Manage Controller Bindings → VRChat → Active Controller: Index Controller → Active Controller Binding: Custom, select the StretchSense VRChat configuration for Index Controller.

INFO: If you have your own customized bindings, refer to the configuration below for optimal changes. We recommend all menu buttons be set to long press to avoid accidentally activating menus while making gestures.

Controller Profile Global Binding

Screenshot 2024-08-26 113416.png Screenshot 2024-08-26 113345.png

Controller Profile One_Hand Binding

Screenshot 2024-08-26 113500.png

VRChat Gestures

TIP: We recommend training these standard gestures in the StretchSense SteamVR app.

The following binding changes will help stop accidental activations of the VRChat menus.

  • Left B Button - Change Button bindings so that Long press triggers the Action Menu. Remove all Single actions bound for this button. When using the Action Menu, use the joystick to navigate and release the joystick gesture to select an item from the radial wheel.
  • Right B Button - Change Use As Button bindings so Quick Menu is Long press. Change the second Use As Button binding for Double and set this to Udon Menu Button . Remove all actions bound to Single for the B button.

NOTE: Support for the VRChat Action Menu is currently experimental as of v0.6.0 of the StretchSense SteamVR App. We are working to improve joystick emulation for radial menus in future versions of the app.

INFO: The VRChat radial Action Menu uses flick selection by default. As of v0.6.0 of the StretchSense SteamVR App, flick selection is the only supported selection method for this menu and is limited to up to 8 directional inputs.

Left Hand

WARNING: As of StretchSense SteamVR App v0.6.0 only values of 1.0 are outputted for emulated triggers and joysticks.

Pose Button Name Action Type Description
d-idle.png Idle Make the horns gesture, then move your thumb straight up. This represents the centered position of joystick.
d-up.png Up Walk ForwardRadial Menu Selection Up [Status: Scalar Y: 1.0] * Make the horns gesture with your thumb forward, parallel to your index finger.
d-left.png Left Strafe LeftRadial Menu Selection Left [Status: Scalar X: -1.0] * Make the horns gesture with your thumb pulled towards the left side of your hand, away from your palm.
d-right.png Right Strafe RightRadial Menu Selection Right [Status: Scalar X: 1.0] * Make the horns gesture with your thumb pulled towards the right side of your hand, towards your palm.
d-down.png Down Walk BackwardRadial Menu Selection Down [Status: Scalar X: -1.0] * Make the horns gesture with your thumb curled in, with your knuckle arching up and the tip pressing towards middle of your middle finger. This direction is not used often as it is a fatiguing pose for the thumb.
grab.png Grip Grab objects in world [Status: Scalar: 1.0] * Make a finger gun pose with your thumb pointing upwards and your middle, ring and little fingers curled. NOTE: Don’t squeeze too hard to avoid overdriving the glove sensors.
trigger.png LT Activate objects and UI in world [Status: Scalar: 1.0] * Point gesture with thumb pointing upwards. Fully curl in your index finger, as if you were pulling a real trigger. NOTE: Avoid squeezing your index finger too hard as it will make it harder to repeat the gesture. INFO: In VRChat 2024.3.1 or later the index finger curl instead of the trigger button controls the activation threshold for held objects.
primary-a.png A Button Toggle mic [Status: Single] Touch your middle finger to your thumb, with your thumb resting on the middle part of your middle finger. Keep your other fingers extended.
secondary-b.png B Button Open VRChat radial Action Menu [Status: LONG PRESS] Touch your ring finger to your thumb, with your thumb resting on the middle part of your ring finger. Keep your other fingers extended.

Left Hand Extended Joystick

The following optional poses extend the joystick to 8 directions to improve the selection range of the VRChat Action Menu.

NOTE: Support for these additional buttons may interfere with the performance of other button gestures on the same hand. We are aiming to improve this in subsequent builds of the StretchSense SteamVR App.

WARNING: As of StretchSense SteamVR App v0.6.0 only values of 1.0 are outputted for emulated triggers and joysticks.

Pose Button Name Action Type Description
d-left.png Left Up Forward Strafe LeftRadial Menu Selection Left Up [Status: Scalar Y: 1.0] * Make the horns gesture with your thumb pulled towards the top left side of your hand, away from your palm.
d-down.png Left Down Backward Strafe LeftRadial Menu Selection Left Down [Status: Scalar X: -1.0] * [Status: Scalar Y: -1.0] * Make the horns gesture with your thumb curled in, with your knuckle arching up and the tip pressing towards middle of your middle finger. Pull towards the left side of your hand. This direction is not used often as it is a fatiguing pose for the thumb.
d-right.png Right Up Forward Strafe RightRadial Menu Selection Right Up [Status: Scalar X: 1.0] * [Status: Scalar Y: 1.0] * Make the horns gesture with your thumb pulled towards the top right side of your hand, away from your palm.
d-down.png Right Down Backward Strafe RightRadial Menu Selection Right Down [Status: Scalar X: 1.0] * [Status: Scalar Y: -1.0] * Make the horns gesture with your thumb curled in, with your knuckle arching up and the tip pressing towards middle of your middle finger. Pull towards the right side of your hand. This direction is not used often as it is a fatiguing pose for the thumb.

Right Hand

The right hand is used for interaction and selecting UI elements with a laser pointer.

NOTE: Avoid training joystick directions on the right hand as the default left/right joystick behavior is to activate turning. Instead use your physical body to turn when moving in VRChat. Your head look direction with control the forward direction you will travel during smooth locomotion.

WARNING: As of StretchSense SteamVR App v0.6.0 only values of 1.0 are outputted for emulated triggers and joysticks.

Pose Button Name Action Type Description
interact-idle.png Idle Make a relaxed pose and move your fingers between being fully extended to a slightly relaxed curled pose. This represents no buttons being pressed.
grab.png Grip Grab objects in world [Status: Scalar: 1.0] * Make a finger gun pose with your thumb pointing upwards and your middle, ring and little fingers curled. NOTE: Don’t squeeze too hard to avoid overdriving the glove sensors.
trigger.png RT Activate objects and UI in world [Status: Scalar: 1.0] * Point gesture with thumb pointing upwards. Fully curl in your index finger, as if you were pulling a real trigger. NOTE: Avoid squeezing your index finger too hard as it will make it harder to repeat the gesture. INFO: In VRChat 2024.3.1 or later the index finger curl instead of the trigger button controls the activation threshold for held objects.
menu.png Menu Toggle SteamVR Dashboard [Status: LONG PRESS] Touch your little finger to your thumb, with your thumb resting on the middle part of your little finger. Keep your other fingers extended. This gesture activates the SteamVR Dashboard. Train it so it can be pressed accurately. You may need to go back and train the idle pose again to stop it accidentally triggering. NOTE: Bind this button in the SteamVR Dashboard Controller Bindings to avoid accidentally activating it.
primary-a.png A Button Jump [Status: Single] Touch your middle finger to your thumb, with your thumb resting on the middle part of your middle finger. Keep your other fingers extended.
secondary-b.png B Button Quick MenuUdon Menu [Status: LONG PRESS] [Status: Double PRESS] Touch your ring finger to your thumb, with your thumb resting on the middle part of your ring finger. Keep your other fingers extended.

Using Third Party Gamepads

Image (74).jpeg

VRChat supports keyboard and gamepad input natively while running in the foreground. For XInput compatible gamepads it is possible to use and remap these in SteamVR, using the same approach as for virtual Index Controllers. These can be used at the same time while the StretchSense SteamVR app is running.

This can free your hands for improved performance if you are using an avatar with a complex gesture set to drive facial animations, props or if you are planning on playing games in VRChat worlds that require high precision or movement.

It is possible to use a small third-party gamepad that is detected by Steam to achieve better joystick performance and to have physical buttons for things like opening and selecting items from the VRChat radial action menu.

Gamepad SteamVR Setup

  1. Turn on the gamepad and put it in pairing mode, according to the manufacturer’s instructions.
  2. Go to Windows Settings → Bluetooth & devices → Devices → Add device.
  3. Select Bluetooth when prompted for the kind of device to add.
  4. Once the device is connected, in the Windows toolbar, search and run Set up USB Game Controllers.
  5. Calibrate the joystick on the game controller (if your manufacturer’s device manual has hardware calibration instructions do this first).
  6. Open SteamVR and check the gamepad shows up in the SteamVR status window alongside your trackers and headset.
  7. Proceed to setup SteamVR bindings for VRChat. There are no default bindings available so you will need to create new ones from scratch.
  8. In the StretchSense SteamVR App, train a new model that excludes any gestures for button actions that have been mapped to the gamepad. We recommend training a model that has Trigger, Grip and Menu to improve stability while using the gamepad in that hand.

Gamepad SteamVR Bindings

We recommend using the following SteamVR bindings for VRChat. Additionally binding the Menu (Combined) action will allow all 3 menu types in VRChat to be triggered from a single button, leaving the other gamepad buttons free:

Screenshot 2024-09-06 113712.png Screenshot 2024-09-06 113909.png
Screenshot 2024-09-06 113925.png

TIP: Check the Return bindings with left hand under the Extra Settings tab to allow the left-hand radial menu to be navigated using the gamepad’s left joystick.

VRChat Hand Skeleton

Under the hood, VRChat uses the Mixamo Y-Bot skeleton for its animation retargeting. Avatars rigged and weight painted to this skeleton will have their hands look the best when SteamVR skeleton data is applied to the hands. Other skeletons, especially those ripped from other games may not have their fingers animate correctly.

Optionally, avatar creators can upload their avatar to Mixamo and use its auto-rigging feature, then download the resulting FBX to get the fingers looking optimal in the VRChat Creator Companion.

https://sketchfab.com/3d-models/y-bot-from-mixamo-f114e5b0bd2141119544756530560e48

Troubleshooting

Missing Required Bindings

We recommend resetting the SteamVR controller bindings for VRChat to the default VRChat Default Bindings for Valve Index prior to making further adjustments or some of the buttons such as the D-Pad/Joystick will not work correctly. Alternately, use our StretchSense VRChat configuration for Index Controller from this guide, which is based on VRChat’s defaults, but customised to work with the StretchSense SteamVR App.

Screenshot 2024-08-19 122238.png

If you get a Missing Required Bindings error when starting VRChat, this can happen when Vive or Tundra trackers are detected by default. Go to SteamVR Settings → Manage Controller Bindings and check the active controller binding is set to Index Controller and either the VRChat Default Bindings for Valve Index profile or a custom one derived from this.

For more information on how VRChat supports SteamVR Input 2.0, please read the following articles:

Using SlimeVR, Mocopi or Third-Party Straps for VRChat

Follow our OpenGloves Configuration Guide to configure the OpenGloves SteamVR add-on to work with your tracker and strap combination.

OSC Port Collisions with VRChat

In StretchSense App for SteamVR v0.9.0 or below, you may need to adjust apps like VRCFaceTracking to use a different OSC port other than 9000.

Changing OSC port in VRCFaceTracking

  1. Update the OSC address configuration in VRCFT.
  2. In your Steam library, change the VRChat launch arguments to add the following:
    --osc=9002:127.0.0.1:9001

iif24ykY.png

Changelog Version Publish Date (YYYY/MM/DD)
Add clarification about version required for OSC port collision fix. v1.1.1 2024/12/02
Add guide for using gamepads and Studio Gloves together v1.1.0 2024/09/06
Add note about OSC port collisions with OpenGloves v1.0.1 2024/08/29
Initial version. v1.0.0 2024/08/26

Original Confluence page

    • Related Articles

    • StretchSense SteamVR Boneworks Guide

      https://store.steampowered.com/app/823500/BONEWORKS/ Required Materials Software The below software is required for this guide, except those marked as optional: TIP: Installers for the StretchSense SteamVR App can be downloaded from the My Account → ...
    • StretchSense SteamVR Controller Bindings Guide

      VRChat Guide https://store.steampowered.com/app/438100/VRChat/ Boneworks Guide https://store.steampowered.com/app/823500/BONEWORKS/ Minecraft Guide https://www.vivecraft.org/ INFO: Watch this space! Additional articles and guides are coming soon ...
    • StretchSense SteamVR Controller Bindings Guide

      This guide will help you configure optimal SteamVR controller bindings for the StretchSense SteamVR App v0.6.0 beta or later. This guide assumes you have selected the Index Controller as your current device in the SteamVR controller bindings menu and ...
    • StretchSense SteamVR App Setup Guide (Open Beta)

      https://vimeo.com/1002592033 View the SteamVR open early access roadmap here Required Materials Software The below software is required for this guide, except those marked as optional: TIP: Installers for the StretchSense App for SteamVR can be ...
    • VIVE Ultimate Tracker Meta Quest PCVR + SteamVR Guide

      Objective This knowledgebase article will show you how to setup your VIVE Ultimate Trackers to track the position and rotation of StretchSense Studio gloves in space while using SteamVR and a headset with inside-out-tracking like Meta Quest. It will ...