Skip to main content

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 Text ChatBox 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