Search Issue Tracker

Fixed

Fixed in 1.8.1

Votes

0

Found in [Package]

1.8.0

Issue ID

UVSB-2492

Regression

Yes

Deserialization error when upgrading to 1.8.0

Package: Visual Scripting

-

Bug introduced in UVSB-1885.

 
* Create a new Unity project with VS 1.7.9 or older.
* Put the following file `Test.cs` in the asset folder:

```

using UnityEngine;
public class Test : MonoBehaviour
{
    public void CallWithObjectAndIntParam(object objParam, int i) {}
    public void CallWithStringParam(string str) {}
}
public static class TestExt
{
    public static void ExtensionCallWithFloat(this Test test, float fl) {}
}

```
* Add type `Test` and `TestExt` to VS project settings -> TypeOptions
* Regenerate nodes
* Create a VS graph with a single node Test.CallWithObjectAndIntParam
* Create a Null node
* Connect Null node to the objParam input of the other node
* Save+Exit
* Upgrade to VS 1.8.0
* -> You should no longer be able to open the graph because of a deserialization exception

 

The key to triggering this bug is that the class exposing the API (in code) must be a `UnityObject` (like `MonoBehavior` in the above test code) and must also have one parameter that cannot have a default value (like `object` in the test code above)

 

----- ALTERNATE --------

 
* Open attached project (already includes above first 6 steps using VS 1.7.8).
* Upgrade to VS 1.8.0
* -> You should no longer be able to open the graph because of a deserialization exception

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.