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.

Package: Visual Scripting

-

(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

  1. 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.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.