This repository has been archived by the owner on Jan 22, 2022. It is now read-only.
Recursion support
As always, make sure you have the latest VRCSDK3 installed before upgrading U# or you may run into errors
Features
- aa79a63: Recursion support has been added to U#, you must mark any methods that will be called recursively with the
[RecursiveMethod]
attribute. This has an overhead so only use it when you need recursion, and consider converting your algorithms to be iterative if you are looking for performance. - 17eb24f: Add handling for bitwise not operator
~
- 2af6f57: Add support for using
foreach
to iterate children of Transforms - fda52e9: Add support for using Odin Inspector on UdonSharpBehaviours, you need to enable the Odin inspector handling in the UdonSharp settings in your project settings to use it by changing the
Default Behaviour Editor
option - #65: Add support for overriding
RequiresConstantRepaint
in custom inspectors, contributed by @NGenesis - a20391f b52c40c: Minor compile performance improvements
Fixes
- a99841a: Allow the binder to error about using nullable field declarations, reported by Narry
- 7c0f1a1: Fix regression preventing assigning VRC Video player components of non-base types, reported by @owlboy
- ed8a472: Handle when field initializers throw exceptions better
- 4dd037b: Fix exceptions piling up in the error field in some cases
- c923fdb: Sanitize script names more stringently when creating new scripts to prevent issues with Unity failing to recognize the class
- 96068ca: Better handle a case where array serialization while using custom inspectors could get broken more than it should.
- bf59eb2: Make custom inspector serialization a bit more lenient with types that are aliased internally by U#
- 0cb722a: Make Harmony unpatch methods before an assembly reload, this may help with one mode of failure that Mono likes to die on sometimes.
- 5b760c1: Make Exposure tree text white when highlighted so it's actually readable, requested by Mochie
- 5736673: Add more VRC log types that were added in recent patches to the log filter
- 991078a: Disable collision transfer by default when using AddUdonSharpComponent
- f4125e7: Add warning for when a script's file name does not match its class name since this causes many issues with Unity for some reason
- 1cf6156: Add warning when UdonSharpProgramAssets do not have a script assigned as people have gotten confused when they have a program asset setup without a reference
- b2eea00: Add warning dialog when changing the source script on an UdonSharpProgramAsset since it can cause things to break if it's in use
- a7a88db: Add warning for when multiple UdonSharpProgramAssets reference the same source script since this can cause the compiler to act in unexpected ways