Skip to main content

Merlin

Changelog

  • Adds events for image loader and text loader #96
  • Add error for when scripts don't have program assets during scene scanning
  • Catch serialization errors when upgrading scene behaviours

Merlin

Changelog

  • Upgrading nested prefabs from U# 0.x projects should now be handled properly #82
  • Fixes for float -> int truncation and precision contributed by @ureishi #79
  • Fix for casts from char -> float types contributed by @ureishi #80
  • Fixes for string composite assignment contributed by @ureishi #29
  • Fixes for equality between two null constants contributed by @ureishi #30
  • Fix for checking event compatibility with built-in events to not only check event name, this would cause issues if you tried to register an event without the correct parameters for a built-in event.
  • Fix to show jagged array fields if they are marked with OdinSerialize, but private
  • Adds Curl errors that Unity now likes to throw with the menu updates to the event filter for log watcher
  • Fix for inter-prefrab references on instantiated prefabs not applying correctly in some cases, because Unity
  • Prevent running upgrade process on intermediate build prefabs
  • Workaround for a case where Unity thinks an object is a prefab when it isn't during the prefab build process which could cause the process to fail

Merlin

Changelog

  • Fixes to allow sync on arrays of user defined enums
  • Move refresh program assets menu to VRChat SDK > Udon Sharp menu for consistency
  • Mitigate issues with UdonSharpProgramAsset cache havinbg problems when program assets are deleted
  • More specific error in the case a program asset's script reference goes null

Merlin

Changelog

  • Fixes sync check to allow syncing user defined enums again, reported by techanon #75
  • Use explicit SyntaxTree reference in UdonSharpUpgrader to avoid compile issues with a Unity package that has a bad namespace declaration, reported by Vesturo

Momo the Monster

Changelog

  • Adds logging for what is not supported when hit in early compile phases.
  • Fixes for inspector issues
  • Make U# assembly definitions reset caches
  • Create data locator after importing samples
  • Fixes issue due to Udon Networking changes
  • Adds sync type checking
  • Updates Readme with VPM Usage Instructions

Merlin

Changelog

  • Make UdonBehaviourSyncMode attribute affect inherited classes, requested by @BocuD
  • Add UDONSHARP scripting define to check for presence of U# in project
  • Make upgrade process with scene open more robust
  • Add handling for GetComponent(s)<UdonSharpBehaviour>() (the exact UdonSharpBehaviour type, types directly inherited from UdonSharpBehaviour were already handled)
  • Add handling for GetComponent(s)<T>() on UdonSharpBehaviour types using inheritance
  • Add workaround handling for GetComponent(s)<T>() on VRC component types
  • Fix issue where generic methods could leak their type arguments to other uses with different type arguments
  • Fix serialization on base class declared fields, reported by @kafeijao
  • Add better error when declaring nested types

Merlin

Changelog

  • Improve exposure tree scan speed a little
  • Make GetUdonSharpComponent APIs just act like Unity equivalents instead of potentially erroring
  • Add fallback drawing for jagged arrays
  • Fix issue with local symbols getting incorrectly shared between different generic method type arguments, reported by @Miner28_3
  • Fix U# behaviour enabled state not getting synced in the editor UI while in play mode properly, reported by @Fairplex
  • Prevent editing script asset on UdonSharpProgramAssets once it has been set since it will not work now. Also add validation for out of sync assigned script types.
  • Missing source script warning is now an error
  • Obsolete and no-op UpdateProxy and ApplyProxyModifications editor API calls since they aren't needed in editor-time now and could cause issues with the new way of doing things.
  • Fix multiply operation * on System.Decimal type, reported by @pnivek
  • Fix integer -> user enum conversions when the underlying integer types don't match, reported by @GlitchyDev
  • Fix script upgrader more, reported by @Phasedragon
  • Make file change detection extend to all scripts that are linked by U# builds
  • Fix AddUdonSharpComponent editor scripting APIs as they weren't actually working, reported by @BocuD
  • Move UdonSharp menu items to be under the VRChat SDK top level menu

Merlin

Changelog

  • Fix script upgrade causing duplication of code in some cases reported by @Narry
  • Add support for serializing auto property backing fields
  • Mitigate dropdowns having incorrect margins, contributed by @ArchiTechAnon
  • Obsolete DrawPublicVariables U# API method and replace with DrawVariables
  • Fix unary plus operator causing compile errors
  • Make force upgrade button also queue prefab upgrade
  • Fix Odin conflicting with U# inspectors, reported by @GlitchyDev and @BocuD
  • Fix default editor fallbacks
  • Fix multi-edit not being disabled on custom inspectors that do not support it
  • Add handling for custom editors that edit child classes
  • Re-add exposure tree

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