{"id":15139718,"url":"https://github.com/i5ucc/vrcthumbparamsosc","last_synced_at":"2025-05-06T21:28:43.282Z","repository":{"id":41865663,"uuid":"484808686","full_name":"I5UCC/VRCThumbParamsOSC","owner":"I5UCC","description":"OSC program that makes SteamVR controller actions, Tracker button actions and XInput actions accessible as Avatar Parameters.","archived":false,"fork":false,"pushed_at":"2025-02-28T08:34:00.000Z","size":1741,"stargazers_count":54,"open_issues_count":1,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T03:08:57.055Z","etag":null,"topics":["chilloutvr","cvr-osc","openvr-bindings","openvr-utility","vrchat","vrchat-avatars","vrchat-osc","vrchat-sdk3","vrchat-tool"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/I5UCC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"i5ucc","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-04-23T17:08:42.000Z","updated_at":"2025-03-24T07:45:37.000Z","dependencies_parsed_at":"2024-01-29T13:05:22.957Z","dependency_job_id":"ca437a55-b7ad-4f7a-9368-e2f6910b9e2a","html_url":"https://github.com/I5UCC/VRCThumbParamsOSC","commit_stats":{"total_commits":367,"total_committers":4,"mean_commits":91.75,"dds":"0.16621253405994552","last_synced_commit":"5325f495dbab3f9e887db6a4a8c4f0b901299fb8"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/I5UCC%2FVRCThumbParamsOSC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/I5UCC%2FVRCThumbParamsOSC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/I5UCC%2FVRCThumbParamsOSC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/I5UCC%2FVRCThumbParamsOSC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/I5UCC","download_url":"https://codeload.github.com/I5UCC/VRCThumbParamsOSC/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252771460,"owners_count":21801711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chilloutvr","cvr-osc","openvr-bindings","openvr-utility","vrchat","vrchat-avatars","vrchat-osc","vrchat-sdk3","vrchat-tool"],"created_at":"2024-09-26T08:01:07.948Z","updated_at":"2025-05-06T21:28:43.276Z","avatar_url":"https://github.com/I5UCC.png","language":"Python","funding_links":["https://ko-fi.com/i5ucc","https://ko-fi.com/i5ucc'"],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"https://github.com/I5UCC/VRCThumbParamsOSC/blob/468e25fb16f03daac756d693656c784094518efb/src/icon.ico\" width=\"32\" height=\"32\"\u003e ThumbParamsOSC\n[![Github All Releases](https://img.shields.io/github/downloads/i5ucc/VRCThumbParamsOSC/total.svg)](https://github.com/I5UCC/VRCThumbParamsOSC/releases/latest) \n[![GitHub release (latest by date)](https://img.shields.io/github/downloads/i5ucc/VRCThumbParamsOSC/latest/total?label=Latest%20version%20downloads)](https://github.com/I5UCC/VRCThumbParamsOSC/releases/latest)\n\u003ca href='https://ko-fi.com/i5ucc' target='_blank'\u003e\u003cimg height='35' style='border:0px;height:25px;' src='https://github.com/user-attachments/assets/8e34a7ee-641a-4bce-ab72-b6b647eb892d' border='0' alt='Buy Me a Coffee at ko-fi.com' /\u003e\n\nOSC program that makes SteamVR controller actions, Tracker button actions and XInput actions accessible as Avatar Parameters.\n\nCurrently supports ***Valve-Index***, ***Oculus(Meta)-Touch***, SteamVR Trackers and XInput Controllers.\n\n### [\u003cimg src=\"https://assets-global.website-files.com/6257adef93867e50d84d30e2/636e0a6ca814282eca7172c6_icon_clyde_white_RGB.svg\"  width=\"20\" height=\"20\"\u003e Discord Support Server](https://discord.gg/rqcWHje3hn)\n\n### [🢃 Download Latest release](https://github.com/I5UCC/VRCThumbParamsOSC/releases/latest)\n\n# Available Parameters\n\nFollowing sections go over all available parameters.\nAll parameters are **case-sensitive**.\n\n## SteamVR Controller Parameters\n\n| Parameter | Type |\n|-----------|------|\n| ControllerType | int |\n| RightThumb | int |\n| LeftThumb | int |\n| LeftAButton | bool |\n| LeftBButton | bool |\n| LeftABButtons | bool |\n| LeftTrackPad | bool |\n| LeftThumbStick | bool |\n| RightAButton | bool |\n| RightBButton | bool |\n| RightABButtons | bool |\n| RightTrackPad | bool |\n| RightThumbStick | bool |\n| LeftAButtonClick | bool |\n| LeftBButtonClick | bool |\n| LeftTrackPadClick | bool |\n| LeftThumbStickClick | bool |\n| RightAButtonClick | bool |\n| RightBButtonClick | bool |\n| RightTrackPadClick | bool |\n| RightThumbStickClick | bool |\n| LeftGrab | bool |\n| RightGrab | bool |\n| LeftTrigger | float |\n| RightTrigger | float |\n| LeftGrabForce | float |\n| RightGrabForce | float |\n| RightTrackpadForce | float |\n| LeftTrackpadForce | float |\n| LeftStickMoved | bool |\n| RightStickMoved | bool |\n| LeftTrackPadY | float |\n| RightTrackPadY | float |\n\n## Tracker Parameters\n\n| Parameter | Type |\n|-----------|------|\n| LeftFootTracker | bool |\n| RightFootTracker | bool |\n| WaistTracker | bool |\n| ChestTracker | bool |\n| LeftElbowTracker | bool |\n| RightElbowTracker | bool |\n| LeftKneeTracker | bool |\n| RightKneeTracker | bool |\n\n## XInput Parameters\n\n| Parameter | Type |\n|-----------|------|\n| XInputAButton | bool |\n| XInputBButton | bool |\n| XInputXButton | bool |\n| XInputYButton | bool |\n| XInputLeftThumbstick | bool |\n| XInputRightThumbstick | bool |\n| XInputLeftBumper | bool |\n| XInputRightBumper | bool |\n| XInputBackButton | bool |\n| XInputStartButton | bool |\n| XInputLeftDPad | bool |\n| XInputRightDPad | bool |\n| XInputUpDPad | bool |\n| XInputDownDPad | bool |\n| XInputLeftTrigger | float |\n| XInputRightTrigger | float |\n| XInputLeftStickMoved | bool |\n| XInputRightStickMoved | bool |\n| XInputDPadMoved | bool |\n\n## Special Parameters\n\nThe two int parameters ***RightThumb*** and ***LeftThumb*** represent the position of each thumb with the numbers from 0 to 4:\n\n| Value | Real Position |\n| ----- | ------------- |\n| 0     | Not Touching  |\n| 1     | A/X Button      |\n| 2     | B/Y Button      |\n| 3     | Trackpad      |\n| 4     | Thumbstick    |\n\nThe int ***ControllerType*** gives what controller is currently being used:\n\n| Controller | Value |\n| ----- | ------------- |\n| Meta/Oculus Touch | 2 |\n| Index | 1 |\n| XInput Controller | 10 |\n| XInput+Meta | 12 |\n| XInput+Index | 11 |\n| Any other controller/No Controller | 0 |\n\n***\\[Left/Right]ABButtons*** detects if the thumb is on *either* the A or B buttons, or Touching both *at the same time*.\n\nTracker Power button parameters require Tracker roles to be set up in SteamVR: \u003cbr\u003e\nGo to `SteamVR-Settings \u003e Manage Trackers` and set up tracking roles for each tracker respectively:\n![268513445-16f47092-6f8b-4de6-9d5d-118fc9135c29](https://github.com/I5UCC/VRCThumbParamsOSC/assets/43730681/d2f771d8-dec4-46a0-9a55-6f02ce449eb1)\n\n# How to use\n\nActivate OSC in VRChat: \u003cbr/\u003e\u003cbr/\u003e\n![EnableOSC](https://user-images.githubusercontent.com/43730681/172059335-db3fd6f9-86ae-4f6a-9542-2a74f47ff826.gif)\n\nIn Action menu, got to Options\u003eOSC\u003eEnable \u003cbr/\u003e\n\nRun `Configurator.exe` to configure the program.\n  \nThen just run the `ThumbParamsOSC.exe` and you are all set! \u003cbr/\u003e\n\n# OSC Troubleshoot\n\nIf you have problems with this program, try this to fix it:\n- Automatic way:\n  - Close VRChat.\n  - Run `Configurator.exe` and click on the Button \"Reset OSC Config\"\n  - Startup VRChat again and it should work.\n- Manual way:\n  - Close VRChat.\n  - Open 'Run' in Windows (Windows Key + R)\n  - Type in `%APPDATA%\\..\\LocalLow\\VRChat\\VRChat\\OSC`\n  - Delete the folders that start with 'usr_*'.\n  - Startup VRChat again and it should work.\n\n# Decreasing OSC Traffic\nThumbparamsOSC consistently sends the current state of each parameter, with a lot of parameters the OSC traffic can increase significantly. \u003cbr\u003e\nTo mitigate this there are a three things you can do:\n- Disable all parameters that you do not need.\n- Switch to a different mode then \"Always Send\"\n- Lower the Polling Rate\nYou can read on how to do that in [#Configuration](https://github.com/I5UCC/VRCThumbParamsOSC?tab=readme-ov-file#configuration)\n\n# Configuration\n\nRunning `Configurator.exe` lets you customize the Parameters that you want to have sent to VRChat, and some more things:\n\n![grafik](https://github.com/I5UCC/VRCThumbParamsOSC/assets/43730681/bcac43cf-539f-4a50-b2a7-03ee62a83892)\n\nUnchecking or checking any of the parameters and the hitting `save` will save the current settings. \u003cbr\u003e\nYou can use the buttons below to do quick unticking or ticking of groups of parameters \u003cbr\u003e\n- `Floating Time` allows values \"float\" on the last value registered, it is measured in seconds. \u003cbr\u003e\n  - If `Floating Time` is set to -1 for boolean values, they will act like a toggle instead of always updating to the current state.\n- Tick the `Unsigned` Box for any supported parameter to map the float value to [0, 1] instead of [-1, 1]\n- `Mode` has 3 different values: \n  - \"Send On Change\" (Default) As the name might suggest, it sends a parameter only when it has changed from its previous value.\n  - \"Send On Positive\" It sends a Parameter when it changes, but also continuosly sends Positive values every Poll.\n  - \"Always Send\" This is like the old behaviour, just sends the parameters current state every Poll.\n  - You can use the three buttons below to quickly switch between modes for every parameter\n\n# Automatic launch with SteamVR\nOn 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:\n![Screenshot 2022-12-04 184629](https://user-images.githubusercontent.com/43730681/205506892-0927ed45-69c6-480f-b4b3-bc02d89c151e.png) \u003cbr\u003e\n![Screenshot 2022-12-04 184907](https://user-images.githubusercontent.com/43730681/205506956-7c397360-e14a-4783-a2c2-e5311749e2d4.png)\n\nAfter setting the option to ON it will launch the program ***without the console*** on SteamVR startup.\n\n# Command line Arguments\nYou can run this by using ```ThumbParamsOSC.exe {Arguments}``` in command line.\n\n| Option | Value |\n| ----- | ------------- |\n| -d, --debug     | prints values for debugging |\n| -i IP, --ip IP    | set OSC IP. Default=127.0.0.1  |\n| -p PORT, --port PORT    | set OSC port. Default=9000      |\n\n# Credit\n- [pyopenvr](https://github.com/cmbruns/pyopenvr) thank you.\n- [benaclejames](https://github.com/benaclejames) and [Greendayle](https://github.com/Greendayle) for the inspiration!\n\n# Great Projects making use of ThumbparamsOSC:\n- [VRC-ASL_Gestures](https://github.com/I5UCC/VRC-ASL_Gestures) by me :)\n- [VRCImmersiveImmobilize](https://github.com/I5UCC/VRCImmersiveImmobilize) by me :)\n- [AutoImmobilizeOSC](https://github.com/SouljaVR/AutoImmobilizeOSC) by [SouljaVR](https://github.com/SouljaVR)\n- [Drone-OSC-Controller](https://github.com/qbitzvr/Drone-OSC-Controller) by [Qbitz](https://github.com/qbitzvr)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi5ucc%2Fvrcthumbparamsosc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fi5ucc%2Fvrcthumbparamsosc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi5ucc%2Fvrcthumbparamsosc/lists"}