Closed DarkSpacer1 closed 1 year ago
This is not a bug, system.action is just not supported by Udon or UdonSharp. It says so in the error: System.NotImplementedException: The method or operation is not implemented.
So this should be a feature suggestion then. Sorry, my bad
It's not really a feature suggestion for udonsharp though, as udonsharp is just a compiler. This is a feature request for Udon itself, but that's already being covered by the future release of udon 2, which should have this along with many other features natively.
Ahhh ok thanks for clarifying
Guess I gotta wait >_< oh well
Describe the bug in detail: When I try to use a System.Action to call a specific method (and it started complaining when I tried calling from an external script and now won't stop), it gives an error about a method not being implemented
Provide steps/code to reproduce the bug: Specific use case: public void allClientsDo(System.Action networkedEvent) { if (Networking.IsOwner(gameObject)) SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, networkedEvent.Method.Name); } Calling local: allClientsDo(localMethod);
Calling external: allClientsDo(reference.localMethod);
Additional Information: An example full error:
[UdonSharp] Assets/Scripts/npc_MiniNeso.cs(517,21): System.NotImplementedException: The method or operation is not implemented. at UdonSharp.Compiler.Binder.BoundAccessExpression.BindAccess (UdonSharp.Compiler.AbstractPhaseContext context, Microsoft.CodeAnalysis.SyntaxNode node, UdonSharp.Compiler.Symbols.Symbol accessSymbol, UdonSharp.Compiler.Binder.BoundExpression symbolExpressionSource) [0x000b1] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BoundNodes\BoundAccessExpression.cs:45 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitAccessExpression (Microsoft.CodeAnalysis.SyntaxNode node) [0x00142] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:103 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitExpression (Microsoft.CodeAnalysis.SyntaxNode node) [0x00001] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:108 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitExpression (Microsoft.CodeAnalysis.SyntaxNode node, UdonSharp.Compiler.Symbols.TypeSymbol expectedType, System.Boolean explicitCast) [0x00001] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:156 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitInvocationExpression (Microsoft.CodeAnalysis.CSharp.Syntax.InvocationExpressionSyntax node) [0x002aa] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:451 at Microsoft.CodeAnalysis.CSharp.Syntax.InvocationExpressionSyntax.Accept[TResult] (Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitorb__0 (System.ValueTuple`2[T1,T2] rootTypeSymbol) [0x00030] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\UdonSharpCompilerV1.cs:618
1[TResult] visitor) [0x00000] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor
1[TResult].Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00003] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00065] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:51 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitExpressionStatement (Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionStatementSyntax node) [0x00001] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:270 at Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionStatementSyntax.Accept[TResult] (Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor1[TResult] visitor) [0x00000] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor
1[TResult].Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00003] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00065] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:51 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitStatement (Microsoft.CodeAnalysis.SyntaxNode node) [0x00001] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:182 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitIfStatement (Microsoft.CodeAnalysis.CSharp.Syntax.IfStatementSyntax node) [0x00076] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:787 at Microsoft.CodeAnalysis.CSharp.Syntax.IfStatementSyntax.Accept[TResult] (Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor1[TResult] visitor) [0x00000] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor
1[TResult].Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00003] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00065] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:51 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitBlock (Microsoft.CodeAnalysis.CSharp.Syntax.BlockSyntax node) [0x00049] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:261 at Microsoft.CodeAnalysis.CSharp.Syntax.BlockSyntax.Accept[TResult] (Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor1[TResult] visitor) [0x00000] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor
1[TResult].Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00003] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00065] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:51 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitStatement (Microsoft.CodeAnalysis.SyntaxNode node) [0x00001] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:182 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitIfStatement (Microsoft.CodeAnalysis.CSharp.Syntax.IfStatementSyntax node) [0x00076] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:787 at Microsoft.CodeAnalysis.CSharp.Syntax.IfStatementSyntax.Accept[TResult] (Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor1[TResult] visitor) [0x00000] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor
1[TResult].Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00003] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00065] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:51 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitBlock (Microsoft.CodeAnalysis.CSharp.Syntax.BlockSyntax node) [0x00049] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:261 at Microsoft.CodeAnalysis.CSharp.Syntax.BlockSyntax.Accept[TResult] (Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor1[TResult] visitor) [0x00000] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor
1[TResult].Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00003] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00065] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:51 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitStatement (Microsoft.CodeAnalysis.SyntaxNode node) [0x00001] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:182 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitIfStatement (Microsoft.CodeAnalysis.CSharp.Syntax.IfStatementSyntax node) [0x00076] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:787 at Microsoft.CodeAnalysis.CSharp.Syntax.IfStatementSyntax.Accept[TResult] (Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor1[TResult] visitor) [0x00000] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor
1[TResult].Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00003] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00065] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:51 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.VisitBlock (Microsoft.CodeAnalysis.CSharp.Syntax.BlockSyntax node) [0x00049] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:261 at Microsoft.CodeAnalysis.CSharp.Syntax.BlockSyntax.Accept[TResult] (Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor1[TResult] visitor) [0x00000] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor
1[TResult].Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00003] in <9c2eb1fd370b4c31a981729c5e257f1b>:0 at UdonSharp.Compiler.Binder.BinderSyntaxVisitor.Visit (Microsoft.CodeAnalysis.SyntaxNode node) [0x00065] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BinderSyntaxVisitor.cs:51 at UdonSharp.Compiler.Symbols.MethodSymbol.Bind (UdonSharp.Compiler.Binder.BindContext context) [0x00170] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\Symbols\MethodSymbol.cs:162 at UdonSharp.Compiler.Symbols.UdonSharpBehaviourMethodSymbol.Bind (UdonSharp.Compiler.Binder.BindContext context) [0x000b5] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\Symbols\UdonSharpBehaviourMethodSymbol.cs:52 at UdonSharp.Compiler.Symbols.TypeSymbol.Bind (UdonSharp.Compiler.Binder.BindContext context) [0x00193] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\Symbols\TypeSymbol.cs:137 at UdonSharp.Compiler.Binder.BindContext.Bind () [0x0001b] in G:\Projects\VRChat_MyLivingNesos-Migrated\Packages\com.vrchat.udonsharp\Editor\Compiler\Binder\BindContext.cs:35 at UdonSharp.Compiler.UdonSharpCompilerV1+<>c__DisplayClass22_0.