Skip to main content

TsVRC Core

A framework for VRChat worlds built on UdonSharp

Structured initialization, dependency wiring, and editor codegen, so your world scripts extend a typed base class instead of hand-wiring references every time you add a behaviour.

com.tsvrc.core

Why it exists

Every UdonSharp script starts on its own, with no guarantee of what order things happen in and no easy way to reach another script elsewhere in your world. Most creators solve this by hand: dragging references between objects in the Inspector, then hoping everything is still connected when the world loads.

TsVRC gives every script one shared reference, _ts, to reach anything else in your project. Setup happens in an order you control, and TsVRC works out which of your own classes to use ahead of time, in the Unity editor. See how TsVRC fits together for the full shape.

The building blocks

Six generated pieces cover most of what a world needs. Register or point at something once, then reach it the same way from every behaviour.

Constructs

Register a TsvrcBehaviour once and TsVRC initializes it for you, in a fixed order, through TsStart, instead of you wiring startup by hand.

Details →

Globals

Point at a scene object once and every behaviour can read it back by name, instead of dragging the same reference into a dozen inspector slots.

Details →

Memory

A shared key-value store with ephemeral, persistent, and synced tiers, so getting a value to every player doesn't mean writing your own networking.

Details →

Factories

Spawn a prefab on demand with a generated _ts.Create... call, for anything that doesn't need to stay in sync across players.

Details →

Pools

Pre-instantiate and wire exactly the instances a networked prefab needs, at edit time, because VRChat can't sync an object created while the world is running.

Details →

Instance

One behaviour per project standing in for the running world instance itself, found and wired automatically, so instance-level checks like "am I the master" have one obvious home.

Details →
Before you build on this

TsVRC is not affiliated with or endorsed by VRChat Inc.

It's also still a work in progress. Every part of it has its own tests, and we run them before every release, but we can't promise we've caught every case. Keep a backup of your project before adding TsVRC to it or updating it, just to be safe. If something breaks on your end, we can't fix it for you, but we'd really like to know about it. Open an issue on GitHub and we'll take a look.

Start building

Add TsVRC through VCC, then follow the getting-started guide to have a behaviour running in play mode.