UdonSharp icon indicating copy to clipboard operation
UdonSharp copied to clipboard

An experimental compiler for compiling C# to Udon assembly

Results 22 UdonSharp issues
Sort by recently updated
recently updated
newest added

Certain ternary expressions could result in COWing the internal `this` constant unnecessarily. Mark `this` as constant to avoid this. Because this hides another bug, I've added a (currently failing) test...

For certain C# methods, Udon exposes the method via a different type than Roslyn considers it to be defined on. One example is `System.Type.Name`, which is actually defined in `System.Reflection.MemberInfo`,...

This is minor fix for ReflectionTypeLoadException. Some large VRChat projects can contain problematic and/or outdated 3rd party assemblies that can not be fully loaded. This does not cause any compilation...

Attempting to reference an instance of a user-defined `UdonSharpBehaviour`-dervied class on the left-hand side of the null-coalescing (`??`) operator causes a U# compiler error. Example problematic code: ``` private KaraokeUiBrowser...

bug

Trying to call `Length` on a Property that returns an Array of a user-defined `UdonSharpBehaviour` type gives a U# compiler error `System.Exception: Method Array.__get_Length__SystemInt32 is not exposed in Udon`, even...

bug

**Describe the bug in detail:** When an UdonBehaviour component is set to None sync mode internally, changing the backing C# component to use `[UdonBehaviourSyncMode(BehaviourSyncMode.NoVariableSync)]` does not change it back to...

bug

**Describe the bug in detail:** If you make one class reference a constant in another class, and then only change the other class, the first class will have a stale...

bug
blocked

**Describe the bug in detail:** It was not cast in the generated UASM even though I explicitly instructed it to cast. It is possible to work around this by going...

bug

**Feature Description:** If it's possible to implement, it would be nice for UdonSharp to support C#'s [`DeclarationExpression`](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7#out-variables) for methods with out parameters, such as `int.TryParse`. This would allow the following...

enhancement

Link all static variables into a global memory space and generate the linkages to the correct parts of the memory space after all programs have been emitted. Static methods just...