Community:OSC Resources

From VRChat Wiki
Revision as of 11:25, 2 April 2026 by Hackebein (talk | contribs) (smaller table width)
V · ECommunity-written content
The following was created by the community. It may contain material not directly endorsed by the VRChat team. To learn more, consider reading Contributing to the VRChat Wiki.

Open Sound Control enables users to read and write data in VRChat. There are plenty of helpful community made tools and libraries, that use OSC, and makes developing OSC tools easier.

Tools

Libraries

liblo OscCore vrc-oscquery-lib go-osc JavaOSC osc.js node-oscquery python-osc vrchat_oscquery python-oscquery tinyoscquery rosc oscquery OSCKit
Language C C# C# Go Java JavaScript TypeScript Python Python Python Python Rust Rust Swift
License LGPL-2.1+ MIT MIT MIT BSD-3-Clause MIT / GPL-2.0 MIT Unlicense None MIT MIT MIT / Apache-2.0 MIT / Apache-2.0 MIT
OSC transport
Send messages [1]
Receive messages [1]
Bundle support ~[2] [1]
VRChat types
i (int32) [1]
f (float32)
s (string)
T (True)
F (False)
Optional types
b (blob)
h (int64) ~[3]
d (float64) ~[3]
t (timetag) ~[4] ~[3]
S (symbol)
c (char)
r (RGBA color)
u
m (MIDI message)
N (Nil)
I (Infinitum)
[] (array)
OSCQuery server — VRChat attributes
HTTP server ~[5]
HOST_INFO ~[6]
FULL_PATH ~[7]
CONTENTS ~[7]
TYPE
ACCESS
VALUE
RANGE ~[8] ~[8]
DESCRIPTION ~[9] ~[9]
OSCQuery server — additional OSCQuery attributes
TAGS
EXTENDED_TYPE
UNIT
CRITICAL
CLIPMODE
OVERLOADS
OSCQuery client
HTTP client
Service discovery
mDNS advertisement
mDNS discovery
  1. 1.0 1.1 1.2 1.3 Via bundled python-osc dependency; bundle support requires using python-osc's API directly.
  2. Receive fully supported including nested bundles; send requires low-level OscWriter API.
  3. 3.0 3.1 3.2 lossy type mapping to Python float.
  4. receive-only
  5. Minimal VRChat-specific subset; only serves / and /?HOST_INFO.
  6. Returns OSC_PORT only; missing NAME, EXTENSIONS, OSC_IP, OSC_TRANSPORT.
  7. 7.0 7.1 Hardcoded to /avatar and /tracking paths; not a dynamic OSC address tree.
  8. 8.0 8.1 Advertised as supported in HOST_INFO extensions but not implemented at the node level.
  9. 9.0 9.1 Supported on the node level but not advertised in HOST_INFO extensions.

See Also