Search Issue Tracker
Won't Fix
Votes
0
Found in [Package]
1.7.5
1.7.6
Issue ID
UVSB-2088
Regression
No
PlatformNotSupportedException: Operation is not supported on this platform.
(Easier repro steps):
1. Create this graph (or variant, just needs to use that *specific* String Concat node, using 4 objects, not 4 strings):
!image-2022-03-21-14-55-39-688.png|width=441,height=388!
2. Enter play mode with that graph on a script machine
3. See error
(Old Repro steps)
How to reproduce:
1. Open attached project
2. Enter Play mode
3. Launch ball with holding space key
4. Wait for the ball to hit bottom bumper
5. Observe Console
Reproduced with: 2021.2.5f1, 2022.1.0b1 (1.7.6)
Note: Error originates from CollisionEvent script machine
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
- Certain textures are incorrectly marked in the render pass list when observed through Render Graph Viewer
- "Assertion failed on expression" error occurs when multiple Animation Components are instantiated after changing the Culling Type
- MacOS persistentDataPath uses old path when built compared to Editor Play mode
- Crash on RaiseException when entering Play Mode in a specific project
- Debug Console does not reappear when disabling and re-enabling Debug.developerConsoleEnabled
Resolution Note:
This is not a VS bug, but an issue with the underlying function call (String Concat that takes 4 objects). See details below.
String Concat has many overloads, so to be specific, we're referring to the overload that accepts 4 Object parameters. Full function specification is `System.String Concat(System.Object, System.Object, System.Object, System.Object, ...)`.
Unity currently uses .Net Framework 4.7.x in editor and various other versions in playmode and builds depending on platform runtime and runtime compatiblity mode. This function *is* defined in .Net Framework 4.7.x and .Net Framework 4.8 (https://docs.microsoft.com/en-us/dotnet/api/system.string.concat?view=netframework-4.8), but this function was added as a means to support backwards compatibliity and is not officially supported. In-fact, Microsoft added this call and explicitly throws this exception. See https://github.com/mono/mono/pull/10452.
In general: This call is not supported in IL2CPP platforms and it's not a good idea to set the API compatibility level to .net framework (older) for this.
We might spend some time figuring out if there's a good way for us to hide nodes that we know will have problems, but that is a separate issue (scalability and maintenance are problems here).
Future versions of VS with the new runtime will probably fix this issue for the most part, as we end up code-genning the relevant functions instead of using Reflection.