Skip to content

Commit

Permalink
Documents new features and breaking changes in U# 1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Faxmashine committed Nov 29, 2022
1 parent ac84142 commit ae0a843
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion Tools/Docusaurus/docs/Migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,23 @@ UdonSharp 0.x (the .unitypackage version) is deprecated and no longer supported.

[Migrating Projects using the Creator Companion](https://vcc.docs.vrchat.com/vpm/migrating).

On this page you'll learn what's new in UdonSharp 1.0, what has changed, and what known issues you may encounter.

## New Features in UdonSharp 1.0
* **More C# features** in your UdonSharp programs:
* `static` methods
* Generic `static` methods
* `params`, `out`, `ref`, and default parameters
* Extension methods
* Inheritance, virtual methods and abstract classes
* Partial classes
* Enums
- **Multi-edit** in multiple UdonSharp scripts Unity's inspector
- **Prefab variants**, **instances** and **nesting** are now fully supported
- **Editor scripting** has been overhauled and simplified
- **Compiler fixes** and **optimizations**
- **Fixed various bugs**, edge cases, and other rough edges

## Known Issues

### Nested Prefabs
Expand Down Expand Up @@ -32,4 +49,11 @@ UdonSharp 0.x (the .unitypackage version) is deprecated and no longer supported.

**Symptoms**: Errors in your console which mention the above library. It might not be at the front of the sentence, but something like `System.TypeInitializationException: the type initializer for blah blah blah...Assets/SketchfabForUnity/Dependencies/Libraries/Newtonsoft.Json.dll`

**How to Fix**: Remove any copies of Newtonsoft.Json.dll from your Assets folder, the VRCSDK will provide it for any package that needs it through the Package Manager.
**How to Fix**: Remove any copies of Newtonsoft.Json.dll from your Assets folder, the VRCSDK will provide it for any package that needs it through the Package Manager.

### Other breaking changes
- Your U# behaviour name must match the .cs file name
- Duplicate program assets may not reference the same `.cs` file
- Program assets must point to a script and may not be empty
- Editor scripting is now different: Data is owned by a C# proxy of the UdonSharpBehaviour, and the corresponding UdonBehaviour is empty until runtime.
- Obsoleted overloads for station and player join events may no longer be used

0 comments on commit ae0a843

Please sign in to comment.