Search Issue Tracker
By Design
Votes
0
Found in
2018.3.0a1
2018.3.6f1
2019.1.0a1
2019.2.0a1
Issue ID
1128980
Regression
Yes
gameObject.SendMessage doesn't accept value as a function argument correctly in the .NET 4.x Scripting Runtime
How to reproduce:
1. Open the user-submitted project ("Unity_2018_3_NET_4_6.zip")
2. Enter Play Mode
3. Observe the Console Window
Expected result: all of the messages are sent correctly
Actual result: the message with a value as a function argument isn't sent correctly and throws the "Calling function Test with no parameters but the function requires 1." error
Reproduced in: 2019.2.0a6, 2019.1.0b4, 2018.3.7f1
Not reproducible in: 2017.4.21f1
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
Resolution Note:
This change is actually a design decision made by the Microsoft C# compiler team long ago: https://github.com/dotnet/roslyn/issues/33486
To workaround, cast the 0.0 float value to an object when using as a parameter. It will prefer the 'object' overload then.