SubLink is an application for creating scriptable integrations between VRChat and streaming platforms (like Twitch and Kick) through OSC. You can customize your SubLink.cs
file (included with the build) to respond to stream events with OSC and more.
A big thank you to CatGirlEddie, my collaborator on the avatar side of SubLink, for her invaluable contributions and expertise to SubLink-compatible avatar creation, and to LauraRozier, without whom the additional support for Kick, StreamElements, and other services would not be possible.
If you need help, feel free to reach out on Twitter or on Discord!
SubLink for Twitch is used by the following notable streamers (and more):
SubLink is currently very stable, and has been for over a year. I'm hitting pause on my personal contributions due to time constraints, but I'm not going anywhere, and can provide updates to resolve stability issues, or offer feedback on any contributions to SubLink as a whole. I would welcome contributions from the community; additional collaborators are encouraged and appreciated.
CatGirlEddie remains actively involved with and the foremost expert on creating and integrating SubLink features and animations into avatars.
To add support for SubLink integrations to your VRChat avatars, I recommend using VRChat's avatar parameter drivers to increment an avatar parameter. For instance, when gift subs or bits come in, OSC will set an avatar parameter such as TwitchCommunityGift
or TwitchCheer
to the number gifted or cheered.
You can then create an animator layer with a resting state that transitions to a state with a parameter driver using the respective avatar parameter (e.g., ExplosionQueue
). This animator layer will increment an internal parameter accordingly and reset the (OSC-set) avatar parameter to zero, allowing for manual radial menu fallback triggers.
From there, you can enqueue animations as needed based on the secondary parameters incremented by the parameter driver.
Default parameters can be found here: Default_Params.md
To receive events from the game you will have to set up some parameters which OSC can connect to. Information on how to set this up can be found in the oscQuery and oscServer guide.
Below are config and script upgrade guides, made to help you modernize your setup to be compatible with the current release of SubLink.
- Early releases to v2.1.6 - Follow this guide
- v2.1.6+ to v3.0.x - Follow this guide
If you encounter any issues or need assistance, please open an issue in the project repository.
Contributions are welcome! If you have a feature idea, bug fix, or improvement, feel free to create a pull request or open an issue.
Please note that the following roadmap represents the original plans for SubLink before it was put into maintenance mode.
- Cross-avatar coordination: Implement a server component to facilitate interactions between avatars. This feature is not open-sourced, though some progress has been made in its development.
- Plugin system: Develop a plugin system to extend SubLink's functionality and dynamically load assemblies that extend
SubLink.cs
capabilities. - Support for other games: Expand SubLink's capabilities to include integrations with other games.
SubLink is released under the MIT License.