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.
Development is led by LauraRozier, with the foundations of SubLink originally implemented by yewnyx in collaboration with CatGirlEddie.
SubLink has been stable in the long term. Updates are sporadic and usually done to add support or maintain old support rather than substantially changing. The project is not going anywhere, and feedback and contributions are more than welcome - additional collaborators are encouraged and appreciated!
If you need help, feel free to reach out on Twitter or on Discord!
- Twitch Data Types
- Kick Data Types
- StreamElements Data Types
- StreamPad Data Types
- OBS Data Types
- Discord Data Types
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.cscapabilities. - Support for other games: Expand SubLink's capabilities to include integrations with other games.
SubLink is released under the MIT License.