Write Unity C#. Run it in VRChat.

Udonite compiles ordinary Unity C# to Udon for VRChat worlds. There is no dialect to learn and no list of forbidden keywords - the code you already write runs in the world as it is. Packages cover the parts of Udon that are fiddly to get right, and the hosted services cover the parts a world cannot do on its own.

Press, sync, show

A button anyone can press, a count every player sees, a label that follows it. No sync attribute, no serialization call, no dialect. The tutorial builds it from an empty project in about fifteen minutes.

  • Interact runs when a player presses the object.
  • Synced<int> is the count every client holds. Writing .Value replicates it, and a late joiner receives the current value.
  • Subscribe runs on every client when the value arrives, so the label is updated in exactly one place.
Build your first world →

Get the compiler

Free, and it stays free. Paste this listing into the VRChat Creator Companion, then add Udonite from the package list.

https://udonite.github.io/vpm/index.json Add to VCC

The compiler

C# in, Udon out. Generics, interfaces and the rest are compiled rather than reimplemented, so you write what you would write in any Unity project.

Hosted services

Send a message from a world to your Discord or your phone, and keep a counter, a score table or a shared switch that survives everyone leaving.

Free to use

The compiler is free, and stays that way. The hosted services have a free tier big enough to build against; supporting raises the limits.

Become a supporter →

Packages

Libraries you drop into a world. Each one takes a part of Udon that is fiddly to get right and makes it ordinary C# again.

Questions people ask

What is Udonite?
Udonite is a compiler that turns ordinary Unity C# into Udon, the scripting runtime of VRChat worlds, together with a set of packages and hosted services. You write a MonoBehaviour the way you would in any Unity project, and Udonite compiles it into an Udon program when you save. The compiler documentation has the details.
How is Udonite different from UdonSharp?
UdonSharp is a dialect: a subset of C# with its own rules and a list of features it refuses. Udonite compiles the C# you already write, generics, interfaces, LINQ, async and records included, and refuses only what Udon itself cannot do, naming each case with a diagnostic code and a suggested rewrite. UdonSharp behaviours keep working in the same project. Language support lists what compiles.
Is Udonite free?
The compiler and the packages are free, and stay that way. The hosted services have a free tier large enough to build against, and supporters get higher limits.
How do I install Udonite?
Add the Udonite listing to the VRChat Creator Companion with the button above, then add the package to your world project. Your first world walks through it step by step, and Getting started is the short version.
Which Unity and VRChat SDK versions does Udonite support?
Whatever VRChat currently supports for worlds: today that is Unity 2022.3 and the Worlds SDK 3.10 or newer. VRChat keeps the current Unity version and the SDK documented, and Udonite follows them.
What do the hosted services do?
Relay sends messages from a world to a Discord webhook or your phone. Storage keeps counters, score tables and shared switches that survive everyone leaving. Both are managed from the dashboard and reached from a world through the Net and Persistence packages.
Something went wrong Reload