2025.1120.0
Deprecations
Since Pulse is now the recommended method for gathering simple data and executing various commands, the following modules will no longer receive updates unless required.
- Client Info: All the values can be found in Pulse and is tracked in app rather than in module
- Keybinds: QueryableParameters are being deprecated as you can now execute keybinds using whatever logic you like in Pulse
- Process Manager: Nodes for starting, stopping, and checking if a process is open are available in Pulse
- Voice Commands: Speech Source is available as a node in Pulse and you can set any parameter to anything you like
- SteamVR Statistics: All the values it provides, and more, are available in Pulse with greater customisability
- Haptic Control: All devices can have haptics triggered via a node in Pulse
- Maths: All maths-related functionality is available in Pulse
App
Pulse
- Added Pulse!
- Pulse is VRCOSC's custom node-programming language that aims to replace specific modules, provide generic functionality, and replace complex avatar animators.
- All functionality that VRCOSC provides is now exposed in Pulse, allowing you to do whatever you want.
- Details on how to use Pulse can be found here
Additions
- Reworked PiShock provider
- PiShock provider now uses the new websocket API meaning latency is greatly reduced
- Pulse provides a serial execute node for PiShock to allow you to execute commands locally, reducing latency even more
- Reworked SteamVR handling
- VRCOSC now gets the correct devices from SteamVR without the need for you to set the roles manually
- Pulse has the ability to get all information from the devices for you to use
- Added global keyboard hook
- The global keyboard hook allows VRCOSC to detect keypresses even while the app isn't focused
- This is off by default, only enable it if you need it for app functionality
- The main use is in Pulse where you can now execute flows when you press any keybinds
- Updated to .NET10 for the latest performance improvements
- Added ability to auto-update pre-releases of modules
- Added ability to select which GPU Whisper uses
- Added
Router ChatBox TextChatBox variable- This allows other apps to be routed through VRCOSC, but have VRCOSC intercept the ChatBox message to be put into your timeline
- Added launch option
--profile profile-id- This tells VRCOSC to launch into a specific profile
Fixes
- Fixed avatar config loading not working for PCs with multiple VRChat accounts logged in
- Fixed muting/unmuting player sometimes failing
- Fixed all existing controller bindings for SteamVR
- Fixed some issues surrounding Windows media provider
- Fixed modules not stopping when closing VRCOSC from the system tray
- Fixed VRCOSC being allowed to open multiple times
- If VRCOSC is already open and you try to open it again, it will focus the already open window
Modules
- Added ParameterSync
- This module lets you sync parameters between avatars
- Added nodes for Pulse to all modules that need them
- Added normalised parameters for remaining int parameters in DateTime
- Added instance count as ChatBox variable for ClientInfo
- Changed group max duration in PiShock to be a float
- Changed Media source dropdown to save between runs
SDK
- Added SendParameterAndWait for non-registered parameters