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
- Editor Perforce login fails when Perforce shows a license expiry warning
- Assertion failed error in HDRP builds when enabling STP via script
- FBX Resamples Curves incorrectly when importing FBX files
- ProBuilder GameObject Faces disappear when increasing the Sides Count value
- FileUtil.CopyFileOrDirectory throws IOException when destination parent folder does not exist
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.