Udon

From VRChat Wiki
Revision as of 18:16, 18 September 2025 by Patroll (talk | contribs) (Add name origin trivia)
V · EThis is an official VRChat information page!
It is reviewed and approved by the VRCWiki Team. Learn how to contribute to this page by reading the Contribution Guide.
V · EThis page is a stub.
You can help the VRChat Wiki by improving it.
[Reason: Needs more information! Please expand, and proofread according to Manual of Style.]
Udon logo

Udon is a C# derived high level object-oriented programming editor for the VRChat World SDK, created by the VRChat Development Team and released in 2020 for SDK2, then eventually SDK3.

Overview

An example of the Udon Node Graph interface, and a demonstration of its code. (Animated GIF)

Udon allows users to utilize the Udon Node Graph UI for visual scripting, and using 'noodles' to connect nodes together to create advanced scripts for Worlds. Users can also traditionally code, using UdonSharp (U#), which allows the use of limited C# syntax. Udon also compiles to its own bytecode known as Udon Assembly, which can be interpreted by the VRChat platform.

Udon is primarily used as a replacement for MonoBehaviors in Unity. Udon is designed to securely interface with the VRChat platform in a sandboxed environment, with a select set of approved operations to perform various actions, which can optionally be synced across the network. Udon covers a wide range of native C# and Unity operations, as well as VRChat specific operations that can be used to build advanced worlds and experiences in VRChat.

History

Udon Toolkit was originally announced on a blog post[1] on June 20, 2018 and introduced as the "VRChat Node Graph", and was additionally discussed during a Developer Update video[2] on June 26, 2018 to replace the "Playmaker" toolkit, on early versions of the world SDK.

Udon officially launched on April 1, 2020 in an 'Open Alpha' state[3] with VRChat version 2020.1.1[4]. Users could upload worlds to VRChat using Udon scripts. In addition, VRChat also created a spotlight row in the World Menu, showcasing worlds utilizing Udon[5][6].

UdonSharp (U#)

UdonSharp, or U#, is a compiler that compiles C# into Udon assembly code. UdonSharp was originally created as an open-source community project on February 7, 2020[7], by developer Merlin, and contributed to by other creators[8]. UdonSharp is now on the official VRChat Open Source repository.

How to make an U# script[9]

You can create an UdonSharp script the project window or the hierarchy window by following the steps below.

In the Project window
  1. Right-click in your project's asset explorer.
  2. Navigate to "Create" > "U# script".
  3. Click "U# script". This will open a file creation dialog.
  4. Choose a name for your script and click "Save".
  5. This will create a .cs script file and an UdonSharp program asset that's set up for the script in the same directory.
In the Hierarchy window
  1. Create a new game object in your scene.
  2. Add an Udon Behaviour component to the object.
  3. Below the "New Program" button click the dropdown and select "Udon C# Program Asset".
  4. Now click the "New Program" button. This will create a new UdonSharp program asset for you.
  5. Click the "Create Script" button and choose a save destination and name for the script.

Udon 2 (Soba)

On December 15, 2022, VRChat announced that their development team began working on a successor to Udon, which was given the working title of "Udon 2"[10]. The next update regarding Udon 2 would come on February 29, 2024 with a mention of the performance benefits and additional features it would bring[11], and another update on March 14, 2024 that showcased an example from the internal beta[12].

On November 25, 2024, previous plans for Udon 2 were dropped, and a new project would take its place, termed Soba[13].

Trivia

  • "Udon" is a type of thick noodle, used in Japanese cuisine.

Official resources

Community resources

A list of community guides can be found in its main article: Community:Udon Guides.

References