#vr-chat #service-discovery #osc #open-sound-control #operation #oscquery

vrchat_osc

vrchat_osc is a Rust crate designed to easily utilize VRChat's OSC (Open Sound Control) and OSCQuery protocols

4 stable releases

new 1.1.3 Jun 15, 2025
1.1.1 May 25, 2025
1.0.0 May 10, 2025

#501 in Asynchronous

Download history 59/week @ 2025-05-04 88/week @ 2025-05-11 5/week @ 2025-05-18 248/week @ 2025-05-25 11/week @ 2025-06-01

411 downloads per month

MIT/Apache

98KB
1.5K SLoC

VRChat OSC/OSCQuery for Rust

Crates.io Documentation

vrchat_osc is a Rust crate designed to easily utilize VRChat's OSC (Open Sound Control) and OSCQuery protocols.

This crate aims to help VRChat tool developers efficiently perform operations such as manipulating avatar parameters, retrieving information, and providing custom OSC services. It integrates OSC message sending/receiving with service discovery via mDNS for OSCQuery.

Key Features

  • OSC Communication: Easily send and receive OSC messages with the VRChat client.
  • OSCQuery Service Discovery:
    • Automatically discovers VRChat clients and other OSCQuery-compatible services on the local network using mDNS.
  • OSC Service Registration: Publish your own OSC services and respond to queries from VRChat or other tools.
  • OSCQuery Get Parameter: Retrieve specific parameters from VRChat clients using OSCQuery.
  • Asynchronous Support: Achieves efficient I/O operations based on the Tokio runtime for asynchronous processing.

Setup

To use this crate, add the following dependencies to your Cargo.toml:

[dependencies]
vrchat_osc = "1.1"
tokio = { version = "1", features = ["full"] }
rosc = "0.10" # For constructing OSC messages

Usage Example

A basic usage example of this crate can be found in examples/full.rs.

License

This project is licensed under the terms of either the MIT license or the Apache License 2.0.

Contribution

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your changes.
  3. Submit a pull request with a clear description of your modifications.

By contributing, you agree that your code will be licensed under the MIT license OR Apache License 2.0.

Acknowledgements

The data models defined in vrchat_osc::models::* are implemented with reference to tychedelia/osc-query.

Dependencies

~15–26MB
~372K SLoC