Releases: MerlinVR/UdonSharp
Releases · MerlinVR/UdonSharp
Fixes and minor UI changes
Fixes:
- 981b66f: Fix handling for
params
methods preventing people from usingString.Join(string, string[])
with an array input. Reported by @Tavren #47 - e68c6b4: Make line endings consistent for generated uasm between Windows and Linux, reported by @YannPenven #44
UI Changes:
- e4c3241: Add ability to drag & drop UdonSharpProgramAssets onto objects in the scene
- 2789e6f: Make source script only editable on the program asset itself
- 2789e6f: Make arrays copy the last element to all new elements on array resize
- 2789e6f: Name object reference's types after the referenced object's type like Unity
- 0d86a54: Add SendCustomEvent button to UdonSharpBehaviour Utilities drop down
Bug fixes
- 4a08d33: Fix
nameof
on single expression names, reported by AirGamer - 31bda21: Fix compile issues with Unity versions > 2018.4.20 due to Unity introducing a namespace named SyntaxTree, reported by @ResourceHog in #38
- 3f66877: Fix issue with array creation expressions incorrectly converting types in some cases
- 7e2b5ae: Fix issue where empty string interpolations would leave old values in variables, reported by @ikuko in #40
- 64c8d3e: Reuse the UdonEditorInterface for slight improvement in compile performance and preventing a regression in compile performance in newer SDK's
- d52ce00: Fix copy elision assigning intermediate values to a variable in some cases, reported by @ikuko in #41
Multithread compile tasks
- #36: Multithread compile tasks for each module. On larger projects this can speed up compiles significantly.
- 3a20b64: Add support for
nameof
expression, requested by @orels1 #34 - aa9b912: Prevent
readonly
andconst
fields from being settable in the inspectors, reported by @mkc1370 - d3e9cc4: Fix casts from
object
tostring
that were creating an empty string instead of return null, reported by @naqtn #32 - eb269d7: Fix casts propagating incorrect types when chained together, reported by lamp
Bug fixes
Bug fixes
- 261d033: Fix implicit type conversions on user fields, reported by AirGamer
- dbcbb33: Fix issue with jagged array accesses in some cases, reported by AirGamer
- c6f4daa: Fix issue with getting a value from
this
in some circumstances - f8fdd7b: Add explicit errors for attempting to use
out
in
andref
parameters on user-defined methods since they are not supported yet. These will be added soon.
Improvements to the performance of compiled programs
This release includes a bunch of changes contributed by bd_ to handle most of the common cases where U# was doing redundant copies on assignment. This improves the performance of some test programs we've tested on by 10-25%. Of course this number will vary based on your use case. In many circumstances these changes also reduce garbage allocations.
- #18: bd_'s optimizations to copies
Minor bug fixes:
Fix array modifications in inspector
Bug fixes and inspector improvements
- 29e6e70: Contributed by @PhaxeNor adds Range attribute support for public float, int, and double properties. This does not yet support negative values for the range.
- 5593f71: Make synced strings default to
null
to avoid issues with Udon attempting to sync null strings. - c8134cd: Hide type icon on object fields in the inspector to emulate Unity's behavior
- cf58fdd: Fix issue where the underlying object field would bleed through and make user type object fields much less readable.
- 85b3ce6: Add explicit errors for attempting to use
throw
- a95d23d: Add undo recording to changing Interact text or proximity in the inspector, reported by Shaun
- 91aa17f: Attempt at making assembly asset export more robust due to Unity bug, reported by @Reimajo
- b6453c5: Propagate errors from attempting to use jagged arrays to the program asset to prevent people from entering play mode with errors.
- f98ed55: Add a blacklist for scanned directories to improve file watcher performance and mitigate a bug in mono on MacOS. Reported and suggested solution by @owlboy #22
- 5a4e10d: Move compile error check to playModeStateChange callback to intercept attempts to upload a world with compile errors
- 857f4c1: Fix edge case in type name resolution preventing the use of the VRCPlayerApi GetPickupInHand function, reported by @Ikeiwa
- a9fd0b8: Fix undo recording on changes to array elements in the inspector
- a9fd0b8: Make type names for user types match the formatting of Unity
- 3b0aa5b: Add support for dragging groups of Unity Objects onto arrays to append them, reported by Q and Mimi
- 6e3f76a: Add handling for implicit
ToString
conversion on non-simple assignment expressions, reported by @Reimajo #21