From ae0a8432e3b5c031b0ee2f23117489490d5a1361 Mon Sep 17 00:00:00 2001 From: Fax Date: Wed, 30 Nov 2022 00:48:46 +0100 Subject: [PATCH] Documents new features and breaking changes in U# 1.0 --- Tools/Docusaurus/docs/Migration.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/Tools/Docusaurus/docs/Migration.md b/Tools/Docusaurus/docs/Migration.md index 9698eb93..efb1323b 100644 --- a/Tools/Docusaurus/docs/Migration.md +++ b/Tools/Docusaurus/docs/Migration.md @@ -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 @@ -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. \ No newline at end of file +**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 \ No newline at end of file