Soba
[Reason: This article contains unreleased content! You can contribute, by expanding and proofreading, in accordance with the Manual of Style.]
Soba, originally referred to as "Udon 2", is an upcoming[1] high-level, object-oriented programming editor based on C# for the World SDK. It serves as the successor to Udon, with development of Udon 2 having been discontinued in favor of focusing on Soba.
Overview
Originally planned as "Udon 2", Soba was announced on November 25th, 2024 as the new title for the future of programming in VRChat worlds. Unlike Udon 2, Soba is planned to be usable alongside Udon rather than directly replacing it[2].
As of March 2026, Soba is still being prepared for closed beta testing[3].
C# language features
The following table compares C# 9.0 language feature support between UdonSharp and Soba, based on work-in-progress technical documentation shared in the March 2026 Creators Roadmap[3]. This list is subject to change.
| Category | Feature | UdonSharp | Soba |
|---|---|---|---|
| Classes | Defining behaviors | Yes | Yes |
| Defining non-behavior classes | No | Yes | |
| Defining abstract classes | No | Yes | |
| Defining sealed classes | Yes | Yes | |
| Defining partial classes | Yes | Yes | |
| Defining nested types | No | Yes | |
| Defining outside a file with the same name | No | Yes | |
| Structures | Defining | No | Yes |
| Interfaces | Defining | No | Yes |
| Implementing | No | Yes | |
| Type system | Polymorphism | Yes | Yes |
| Value types & reference types | Yes | Yes | |
| Generics | Calling generic methods | Yes | Yes |
| Using generic types | No | No | |
| Defining generic types | No | No | |
| Methods | Defining instance methods | Yes | Yes |
| Recursion | Partial | Yes | |
| Defining static methods | Yes | Yes | |
| Defining constructors | No | Yes | |
| Defining static constructors | No | Yes | |
| Defining properties | Yes | Yes | |
| Defining indexers | Yes | Yes | |
event (not Unity/VRChat events) |
No | No | |
| Delegates | No | No | |
| Lambdas | No | No | |
| Nested functions | No | Yes | |
| Extension methods | Yes | Yes | |
| Operator overloading | No | Yes | |
| Named and optional parameters | Yes | Yes | |
ref & out parameters |
Yes | Yes | |
| Control flow | if/else |
Yes | Yes |
switch statements |
Yes | Yes | |
switch expressions |
No | Yes | |
| Pattern matching | No | Yes | |
for, while, do...while, foreach |
Yes | Yes | |
goto |
No | Yes | |
| Operators | Arithmetic, logical, bitwise, relational | Yes | Yes |
Logical shift right (>>>) |
No | Yes | |
Ternary, type-testing (is), casts |
Yes | Yes | |
as cast |
No | Yes | |
Null-coalescing (??, ??=), range (x..y) |
Partial | Yes | |
| Data types | Integer and floating-point types | Yes | Yes |
| Arrays and non-generic collections | Yes | Yes | |
| Anonymous types | No | Yes | |
| Generic collections, LINQ, tuples | No | No | |
| Preprocessor | Preprocessor directives and conditional compilation | Yes | Yes |
| Defining symbols | Yes | Yes | |
| Name resolution | Defining namespaces | Yes | Yes |
using directives |
Yes | Yes |
Trivia
- "Soba", like its predecessor ("Udon"), is a type of noodle used in Japanese cuisine.
Official resources
- Soba feedback post on feedback.vrchat.com
See also
References
- ↑ 'Developer Update - 25 November 2024'; retrieved December 16, 2024.
- ↑ 'On Udon 2, Soba and Why We Changed Directions'; retrieved December 16, 2024
- ↑ 3.0 3.1 'VRChat Creators Roadmap (March 2026)' on ask.vrchat.com. Dated March 19, 2026. Retrieved March 19, 2026.