OSC program that makes SteamVR controller actions, Tracker button actions and XInput actions accessible as Avatar Parameters.
OSC program that makes SteamVR controller actions, Tracker button actions and XInput actions accessible as Avatar Parameters.
Currently supports Valve-Index, Oculus(Meta)-Touch, SteamVR Trackers and XInput Controllers.
Following sections go over all available parameters. All parameters are case-sensitive.
Parameter | Type |
---|---|
ControllerType | int |
RightThumb | int |
LeftThumb | int |
LeftAButton | bool |
LeftBButton | bool |
LeftABButtons | bool |
LeftTrackPad | bool |
LeftThumbStick | bool |
RightAButton | bool |
RightBButton | bool |
RightABButtons | bool |
RightTrackPad | bool |
RightThumbStick | bool |
LeftAButtonClick | bool |
LeftBButtonClick | bool |
LeftTrackPadClick | bool |
LeftThumbStickClick | bool |
RightAButtonClick | bool |
RightBButtonClick | bool |
RightTrackPadClick | bool |
RightThumbStickClick | bool |
LeftGrab | bool |
RightGrab | bool |
LeftTrigger | float |
RightTrigger | float |
LeftGrabForce | float |
RightGrabForce | float |
RightTrackpadForce | float |
LeftTrackpadForce | float |
LeftStickMoved | bool |
RightStickMoved | bool |
LeftTrackPadY | float |
RightTrackPadY | float |
Parameter | Type |
---|---|
LeftFootTracker | bool |
RightFootTracker | bool |
WaistTracker | bool |
ChestTracker | bool |
LeftElbowTracker | bool |
RightElbowTracker | bool |
LeftKneeTracker | bool |
RightKneeTracker | bool |
Parameter | Type |
---|---|
XInputAButton | bool |
XInputBButton | bool |
XInputXButton | bool |
XInputYButton | bool |
XInputLeftThumbstick | bool |
XInputRightThumbstick | bool |
XInputLeftBumper | bool |
XInputRightBumper | bool |
XInputBackButton | bool |
XInputStartButton | bool |
XInputLeftDPad | bool |
XInputRightDPad | bool |
XInputUpDPad | bool |
XInputDownDPad | bool |
XInputLeftTrigger | float |
XInputRightTrigger | float |
XInputLeftStickMoved | bool |
XInputRightStickMoved | bool |
XInputDPadMoved | bool |
The two int parameters RightThumb and LeftThumb represent the position of each thumb with the numbers from 0 to 4:
Value | Real Position |
---|---|
0 | Not Touching |
1 | A/X Button |
2 | B/Y Button |
3 | Trackpad |
4 | Thumbstick |
The int ControllerType gives what controller is currently being used:
Controller | Value |
---|---|
Meta/Oculus Touch | 2 |
Index | 1 |
XInput Controller | 10 |
XInput+Meta | 12 |
XInput+Index | 11 |
Any other controller/No Controller | 0 |
[Left/Right]ABButtons detects if the thumb is on either the A or B buttons, or Touching both at the same time.
Tracker Power button parameters require Tracker roles to be set up in SteamVR:
Go to SteamVR-Settings > Manage Trackers
and set up tracking roles for each tracker respectively:
Activate OSC in VRChat:
In Action menu, got to Options>OSC>Enable
Run Configurator.exe
to configure the program.
Then just run the ThumbParamsOSC.exe
and you are all set!
If you have problems with this program, try this to fix it:
Configurator.exe
and click on the Button "Reset OSC Config"%APPDATA%\..\LocalLow\VRChat\VRChat\OSC
ThumbparamsOSC consistently sends the current state of each parameter, with a lot of parameters the OSC traffic can increase significantly.
To mitigate this there are a three things you can do:
Running Configurator.exe
lets you customize the Parameters that you want to have sent to VRChat, and some more things:
Unchecking or checking any of the parameters and the hitting save
will save the current settings.
You can use the buttons below to do quick unticking or ticking of groups of parameters
Floating Time
allows values "float" on the last value registered, it is measured in seconds. Floating Time
is set to -1 for boolean values, they will act like a toggle instead of always updating to the current state.Unsigned
Box for any supported parameter to map the float value to [0, 1] instead of [-1, 1]Mode
has 3 different values:
On first launch of the program, it registers as an Overlay app on SteamVR just like other well known programs like XSOverlay or OVRAdvancedSettings and can be launched on startup:
After setting the option to ON it will launch the program without the console on SteamVR startup.
You can run this by using ThumbParamsOSC.exe {Arguments}
in command line.
Option | Value |
---|---|
-d, --debug | prints values for debugging |
-i IP, --ip IP | set OSC IP. Default=127.0.0.1 |
-p PORT, --port PORT | set OSC port. Default=9000 |