| Crates.io | vrchat_osc |
| lib.rs | vrchat_osc |
| version | 2.0.0-beta.1 |
| created_at | 2025-05-10 14:47:45.108464+00 |
| updated_at | 2026-01-25 16:21:15.952362+00 |
| description | vrchat_osc is a Rust crate designed to easily utilize VRChat's OSC (Open Sound Control) and OSCQuery protocols. |
| homepage | |
| repository | https://github.com/minetake01/vrchat_osc |
| max_upload_size | |
| id | 1668434 |
| size | 179,719 |
vrchat_osc is a Rust crate designed to easily utilize VRChat's OSC (Open Sound Control) and OSCQuery protocols.
This crate is specifically designed to handle VRChat's unique network implementation behaviors, such as non-standard mDNS responses and binding specificities. For details on technical workarounds implemented in this crate, please refer to WORKAROUNDS.md.
Most features work out-of-the-box on a local machine (Localhost) or within a standard Local Area Network (LAN) supporting multicast. However, due to VRChat's implementation choices (reliance on mDNS for discovery and loopback bindings), some features are limited in VPN or non-multicast environments.
| Feature | Method | Localhost (Same PC) | LAN (Local Network) | VPN / Non-Multicast |
|---|---|---|---|---|
| Send OSC | send() (Auto-Discovery) |
✅ | ✅ (*1) | ❌ |
send_to_addr() (Direct) |
✅ | ✅ | ✅ | |
| Receive OSC | register() (Bind 0.0.0.0) |
✅ | ✅ (*1) | ❌ (*2) |
| OSCQuery (Get) | get_parameter() (Auto-Discovery) |
✅ | ❌ | ❌ |
get_parameter_from_addr() (Direct) |
✅ | ❌ | ❌ | |
| OSCQuery (Host) | register() (Serve 0.0.0.0) |
✅ | ✅ | ✅ (*3) |
This crate is cross-platform and supports the following operating systems:
| Platform | Support | Notes |
|---|---|---|
| Windows | ✅ | Native support. |
| Linux | ✅ | Native support. |
| MacOS | ✅ | VRChat does not run natively. LAN limitations apply when connecting to VRChat on another device. |
To use this crate, add the following dependencies to your Cargo.toml:
[dependencies]
vrchat_osc = "1"
tokio = { version = "1", features = ["full"] }
A basic usage example of this crate can be found in examples/full.rs.
This project is licensed under the terms of either the MIT license or the Apache License 2.0.
Contributions are welcome! Please follow these steps:
By contributing, you agree that your code will be licensed under the MIT license OR Apache License 2.0.
The data models defined in vrchat_osc::models::* are implemented with reference to tychedelia/osc-query.