Skip to main content

Merlin

Changelog

  • Switch to using Unity C# scripts to store U# script data which has the following benefits for U# behaviours:
    • Support for prefab scene deltas
    • Support for prefab nesting
    • Support for prefab variants
    • Multi-edit support
    • Editor script dirtying behavior makes more sense
    • Custom inspectors and editor scripting now work on prefab assets properly
  • Add upgrade path for converting old projects to new data format
    • Does not support upgrading nested prefabs and prefab variants since they were not supported prior to 1.0.0b9
  • Improvements to assembly reload performance
  • Inspector enum support
  • Fixes for struct value write back, reported by @Hai and @Jordo
  • Add InteractionText property to UdonSharpBehaviours
  • Fixes for some methods not being found ex System.Type.Name, contributed by @bd_
  • Remove redundant COW value dirty on this, contributed by @bd_
  • Catch unhandled exceptions from compiler and rethrow them as unhandled exceptions to avoid Tasks silencing exceptions
  • Fix double brackets not being unexcaped on interpolated strings that weren't preforming any interpolation, contributed by @ureishi
  • 'Expected' exceptions used to interrupt compilation now do not dump entire callstack to debug log
  • Enable runtime exception watching by default
  • Add checks for Unity C# compile errors before initiating a U# compile to avoid confusion
  • Add more validation for invalid uses of program assets and script files
  • Remove redundant script dirty ignore since it seems like something else was causing the dirtying and is no longer doing it
  • Obsolete many editor APIs for editor scripting that are no longer needed
  • Obsolete old overloads for station and player join events -- now throws compile error

Merlin

Changelog

  • Fix missing null check that could cause method redirects to error in some cases, reported by @Haï~

Merlin

Changelog

  • Add handling for enum variable serialization
  • Add generic method/UdonSharpBehaviour type support
  • Add handling for IComparible on generic methods
  • Fix using .enabled on GetComponent<UserType>() results, reported by @Miner28_3 and @Pema99

Merlin

Changelog

  • Fix string compound addition with const character values, reported by @Pema99
  • Fix covariant conversion of params arrays on reference type values, reported by @Haï~
  • Fix issues with virtual method linkage allocations, reported by @Haï~
  • Add checking for cases where base methods are shadowed by inherited methods, reported by @GlitchyDev
  • Add checking for cases where base fields are shadowed by fields in inherited classes
  • Add checking for abstract U# classes having a U# program asset associated with them, reported by @GlitchyDev
  • Add fix for abstract methods causing the compiler to fail
  • Add validation to make sure people aren't inheriting from interfaces since they will have support added in the coming weeks
  • Add handling for using switch on object condition values, reported by @Pema99
  • Add handling for empty statements, reported by @Pema99
  • Add validation for the class name of U# behaviours mismatching their containing .cs file name since Unity breaks in dumb ways when it's not the same

Merlin

Changelog

  • Fix more issues with params, reported by @Haï~
  • Fix issues with static methods on U# behaviours causing naming conflicts, reported by @Haï~

Merlin

Changelog

  • Add @bd_'s optimization for bitwise not operator
  • Fix assembly finding handling causing issues with some 3rd party assets, reported by @Haï~
  • Add blacklist entry for CyanEmu since it needs to reference some VRC scripts which U# doesn't link, reported by @Haï~ and @Miner28_3
  • Fix calls to ToString() on enums, reported by @Miner28_3 and @Haï~
  • Fix calls to GetComponents<T> not returning an array type internally, reported by @Miner28_3
  • Fix calls to VRC methods with inconsistent return types in their signature such as VRCPlayerApi.GetPickupInHand(), reported by @Haï~

Merlin

Changelog

  • Fix compile error when base System.Object methods such as ToString() are overridden, reported by @GlitchyDev

Merlin

Changelog

  • Fix increment/decrement/compound assignment operators not converting numeric types of lower precision than int in some cases like on user defined properties, reported by @GlitchyDev
  • Fix compile error when using static methods defined in other U# behaviours, reported by @GlitchyDev
  • Add errors for when people attempt to use U# scripts that do not belong to a U# assembly, but are part of a C# assembly
  • Optimize string interpolations and fix potential issues when using string interpolations in recursive methods