Library / SDK
VolcanicArts/VRCOSC avatar
VolcanicArts/VRCOSC

VRCOSC: node programming and modules for VRChat's OSC system

A modular node-programming language, program creator, animation system, toolkit, router, and debugger made for VRChat

572 stars46 forksC#GPL-3.0

At a glance

What is it?
VRCOSC wraps VRChat's OSC support in a desktop app with modules, a node language called Pulse and a ChatBox animation system. It is Windows-first, GPL-3.0, and the documentation is the main place to check before you install.
Who is it for?
Adopt VRCOSC if you are a Windows VRChat user who wants modules for media, heart rate, speech or Twitch, or if you plan to write your own module against the SDK. Do not adopt it if you need a documented Linux build or a stable, non-beta release line: the newest release listed is 2026.906.0, marked Beta.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 10 days ago.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What VRCOSC is for, and who it is actually aimed at

VRChat exposes an OSC interface, and the README describes VRCOSC as a wrapper around that system. The wrapper exists because raw OSC leaves you to build everything yourself: a program that listens on the right port, maps incoming values to avatar parameters, and displays anything in the ChatBox. VRCOSC packages that work as modules and adds a node-programming language called Pulse for behaviour you do not want to write as a module at all.

The audience is split in two. The first group is ordinary VRChat users who want media display, heart rate, speech to text or Twitch events without writing code. They download the installer, enable modules, and press run. The second group is developers: the README says the framework supports developing your own modules, and the SDK documentation lives at vrcosc.com/docs/v2/sdk/getting-started. If you are in neither group, the project has little to offer you, because the whole design assumes a Windows VRChat session on the same machine.

Modules, Pulse and the router: how the pieces fit together

The README lists the moving parts plainly: a custom node-programming language, a ChatBox animation system, per-avatar profiles, a built-in router, automatic updates, common API interfaces, drag-and-drop Unity prefabs and debug tools. The module list is where the actual capability sits. Media handles Spotify and YouTube sessions, Twitch connects events into Pulse, Pulsoid and HypeRate pull heart rate from their respective services, Speech To Text and Voice Commands consume your microphone, ParameterSync saves and syncs parameters between avatars, and PiShock controls shocker groups.

The design decision worth noting is standardisation. The README states that all modules support sending generic parameters that are standardised so public avatars can use these features, and that most modules have ChatBox support with generic variables. That is what makes a single app useful across many avatars instead of one hand-built setup per person. Pulse sits on top as the escape hatch: the README says it allows connecting APIs to VRChat, the speech engine to parameters, and doing complex maths. The built-in router and per-avatar profiles suggest the app is meant to stay running and switch behaviour as you change avatars, rather than being restarted per session.

Installing VRCOSC and running your first module

The README's Getting Started section is three steps, and the first one is a download rather than a package manager command. You download and run VRCOSCSetup.exe from the latest releases page on GitHub. There is no documented npm, winget or pip route, so the installer is the supported path.

bash
# Download VRCOSCSetup.exe from the latest release, then run it
VRCOSCSetup.exe

After the installer finishes, the second step is enabling the modules you want. The README does not spell out the exact toggle names, so treat the module list in the README as the menu: Media, Twitch, Pulsoid, HypeRate, ParameterSync, Speech To Text, Voice Commands, DateTime, Counter, PiShock and Maths. The third step is pressing the run button in the app.

The README also points at optional first-party prefabs, downloaded separately and added to your avatar. Those live on the docs downloads page under the prefabs anchor, and they are what connect avatar parameters to what the modules send. If a module appears to do nothing, the prefab side is the first thing to check, because the app alone does not add parameters to your avatar.

The ChatBox blacklist is a deliberate constraint, not a bug

One detail in the README is easy to misread as a fault. The ChatBox uses a community-created list to block the ChatBox from being used in certain worlds. That list is chatbox-club-blacklist on GitHub, and VRCOSC checks it so your ChatBox output does not appear in worlds where the world author has asked for it to be suppressed.

The README is explicit that you can turn this off in the app settings, and equally explicit that the project recommends you keep it on out of respect. This is a social constraint encoded as a default. If you are debugging why your ChatBox text never shows up in one particular world, check this setting before you assume the OSC connection is broken. It is also the clearest example of the project making a judgement call on your behalf rather than exposing every option neutrally.

Where VRCOSC is the wrong tool

The README documents a Windows installer and nothing else. There is no Linux or macOS installation path in the README, and no container image or build-from-source instructions for end users. The repository does contain a Visual Studio solution and a global.json, so a developer could in principle build it, but that is not a supported route described for users. If your VRChat setup runs outside Windows, the README gives you nothing to follow.

The second limitation is the release channel. The most recent release listed is 2026.906.0, marked Beta, and it was published on 2026-09-06. The two releases before it, 2026.807.0 and 2026.708.0, are dated roughly a month apart and are not marked Beta. If you need a predictable release line, the beta tag on the newest build is a reason to wait or to pin an earlier version rather than take the top of the list. The README does not document a rollback procedure, so plan your version choice before you install rather than after something breaks.

Finally, VRCOSC is a wrapper, not a replacement. It does not remove the need to configure your avatar in Unity. Without the prefabs, modules have nothing to drive.

Writing your own module instead of using Pulse

The realistic alternative to VRCOSC is not another app of the same shape. It is writing a small OSC program yourself against VRChat's OSC interface, using whatever language and HTTP or WebSocket libraries you already know. That approach gives you exactly the behaviour you want and nothing else. It also means you own the parameter mapping, the ChatBox formatting, the reconnection logic and every API integration, and you re-solve those problems for each new idea.

VRCOSC's answer to that trade-off is two-tiered. Pulse exists so you can build behaviour without writing a module, which covers the middle ground of connecting an API to a parameter or doing maths. The module SDK exists for the cases that outgrow Pulse. The README frames the module system as saving you the trouble of setting up everything yourself, and points at the SDK getting-started page for the details. The cost of choosing VRCOSC is the dependency on a GPL-3.0 desktop application and its release cadence; the benefit is that the router, profiles, debug tools and generic parameter conventions are already there.

Licence, maintenance and what an upgrade costs you

VRCOSC is licensed GPL-3.0. That matters most if you write a module and distribute it: the SDK and the app are the same codebase, so the licence of the application is the licence you are building against. If you only run the app for yourself, the practical effect is limited. This is a description of the licence identifier in the repository, not legal advice; read the LICENSE file at the repository root if distribution is your plan.

The repository is not archived, and the last push was on 2026-09-06, the same day as the 2026.906.0 beta release. Releases have arrived roughly monthly through the three entries listed, and the README advertises automatic updates as a feature, so upgrading is not a manual download-and-reinstall cycle in normal use. The cost of that convenience is that you are on the project's schedule. If a beta introduces a regression, the automatic update path is what put you there, and the README does not document a rollback. Budget for keeping a copy of the installer for the version you know works.

Editorial conclusion

Adopt VRCOSC if you are a Windows VRChat user who wants modules for media, heart rate, speech or Twitch, or if you plan to write your own module against the SDK. Do not adopt it if you need a documented Linux build or a stable, non-beta release line: the newest release listed is 2026.906.0, marked Beta. Before installing, read the FAQ and the v2 docs, and check the Getting Started steps for the current release. The prefabs are optional downloads from the docs downloads page, so verify the avatar-side setup there before you assume a module will drive your parameters.

Frequently asked questions

What is VRChat OSC?

OSC is the interface VRChat exposes for external programs to send and receive data. VRCOSC is described in its README as a wrapper around that system, adding modules, the Pulse node language and a ChatBox animation system on top.

How do I install VRCOSC?

Download and run VRCOSCSetup.exe from the latest releases page on GitHub. The README's Getting Started section lists that as the first step, followed by enabling the modules you want and pressing the run button.

How do I set up and use VRCOSC?

After installing, enable the modules you need and press run. For avatar parameters, download the first-party prefabs from the docs downloads page and add them to your avatar. The README points at the FAQ and the Discord server if you hit problems.

What is VRCOSC?

It is a modular node-programming language, program creator, animation system, toolkit, router and debugger made for VRChat, licensed GPL-3.0 and written in C#. It ships modules for media, Twitch, heart rate, speech to text, voice commands, parameter sync and more.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. README
  4. Releases
  5. VolcanicArts/VRCOSC on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/volcanicarts-vrcosc.svg)](https://hysenlabs.com/projects/volcanicarts-vrcosc)