Can't open graph due to compile error

Hi all. So i’ve been having this thing a few times, but not sure what steps i did exactly.

I was making subgraphs, adding input and output, and then used it in 1 of my existing graph. Due to the error this time, i couldn’t take screenshot of the graph. Only the subgraph (if that’s even related, i’m not sure)

Error in short:

rgumentException: Invalid CastFloat : UnityEditor.VFX.VFXValue`1[System.Single] to Int32
UnityEditor.VFX.VFXOperatorUtility.CastFloat (UnityEditor.VFX.VFXExpression from, UnityEngine.VFX.VFXValueType toValueType, System.Single defaultValue) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperatorUtility.cs:479)

So as for the offending graph itself, i think i connected the “Modulo” output (which is int), to a… Subtract against ParticleId, then Saturate, then Spawn Over Time block.

I don’t even know if that’s correct or optimize whatsoever, but i was still working on it.
The point is, how am i supposed to debug if i can’t even open the graph?

Cheers

Complete error

ArgumentException: Invalid CastFloat : UnityEditor.VFX.VFXValue1[System.Single] to Int32 UnityEditor.VFX.VFXOperatorUtility.CastFloat (UnityEditor.VFX.VFXExpression from, UnityEngine.VFX.VFXValueType toValueType, System.Single defaultValue) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperatorUtility.cs:479) UnityEditor.VFX.VFXOperatorUtility.Clamp (UnityEditor.VFX.VFXExpression input, UnityEditor.VFX.VFXExpression min, UnityEditor.VFX.VFXExpression max, System.Boolean autoCast) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperatorUtility.cs:82) UnityEditor.VFX.VFXOperatorUtility.Clamp (UnityEditor.VFX.VFXExpression input, UnityEditor.VFX.VFXExpression min, UnityEditor.VFX.VFXExpression max) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperatorUtility.cs:74) UnityEditor.VFX.VFXPropertyAttribute.ApplyToExpressionGraph (UnityEditor.VFX.VFXPropertyAttribute[ ] attributes, UnityEditor.VFX.VFXExpression exp) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Types/VFXPropertyAttribute.cs:62) UnityEditor.VFX.VFXSlot.SetOutExpression (UnityEditor.VFX.VFXExpression exp, System.Collections.Generic.HashSet1[T] toInvalidate, UnityEditor.VFX.VFXCoordinateSpace convertToSpace) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:1013)
UnityEditor.VFX.VFXSlot.RecomputeExpressionTree () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:973)
UnityEditor.VFX.VFXSlot.GetExpression () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:232)
UnityEditor.VFX.VFXOperator+<>c.b__6_1 (UnityEditor.VFX.VFXSlot s) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperator.cs:118)
UnityEditor.VFX.VFXOperator.GetSlotPredicateRecursive (System.Collections.Generic.List1[T] result, System.Collections.Generic.IEnumerable1[T] slots, System.Func2[T,TResult] fnTest) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperator.cs:20) UnityEditor.VFX.VFXOperator.UpdateOutputExpressions () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperator.cs:118) UnityEditor.VFX.VFXSlot.RecomputeExpressionTree () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:932) UnityEditor.VFX.VFXSlot.GetExpression () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:232) UnityEditor.VFX.VFXSlot.UpdateLinkedInExpression (UnityEditor.VFX.VFXSlot destSlot, UnityEditor.VFX.VFXSlot refSlot) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:872) UnityEditor.VFX.VFXSlot.RecomputeExpressionTree () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:925) UnityEditor.VFX.VFXSlot.GetExpression () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:232) UnityEditor.VFX.VFXOperator+<>c.<UpdateOutputExpressions>b__6_1 (UnityEditor.VFX.VFXSlot s) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperator.cs:118) UnityEditor.VFX.VFXOperator.GetSlotPredicateRecursive (System.Collections.Generic.List1[T] result, System.Collections.Generic.IEnumerable1[T] slots, System.Func2[T,TResult] fnTest) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperator.cs:20)
UnityEditor.VFX.VFXOperator.UpdateOutputExpressions () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperator.cs:118)
UnityEditor.VFX.UI.VFXOperatorController…ctor (UnityEditor.VFX.VFXOperator model, UnityEditor.VFX.UI.VFXViewController viewController) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Elements/Controllers/VFXOperatorController.cs:35)
UnityEditor.VFX.UI.VFXViewController.AddControllersFromModel (UnityEditor.VFX.VFXModel model) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/Controller/VFXViewController.cs:1721)
UnityEditor.VFX.UI.VFXViewController.SyncControllerFromModel (System.Boolean& groupNodeChanged) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/Controller/VFXViewController.cs:1503)
UnityEditor.VFX.UI.VFXViewController.GraphChanged () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/Controller/VFXViewController.cs:968)
UnityEditor.VFX.UI.VFXViewController.ModelChanged (UnityEngine.Object obj) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/Controller/VFXViewController.cs:840)
UnityEditor.VFX.UI.VFXViewController…ctor (UnityEditor.VFX.VisualEffectResource vfx) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/Controller/VFXViewController.cs:1326)
UnityEditor.VFX.UI.VFXViewController.GetController (UnityEditor.VFX.VisualEffectResource resource, System.Boolean forceUpdate) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/Controller/VFXViewController.cs:1301)
UnityEditor.VFX.UI.VFXViewWindow.InternalLoadResource (UnityEditor.VFX.VisualEffectResource resource) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/VFXViewWindow.cs:101)
UnityEditor.VFX.UI.VFXViewWindow.LoadResource (UnityEditor.VFX.VisualEffectResource resource, UnityEngine.VFX.VisualEffect effectToAttach) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/VFXViewWindow.cs:76)
UnityEditor.VFX.UI.VFXViewWindow.b__18_0 () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/VFXViewWindow.cs:169)
UnityEditor.VFX.UI.VFXViewWindow.Update () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/VFXViewWindow.cs:242)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[ ] parameters, System.Globalization.CultureInfo culture) (at <437ba245d8404784b9fbab9b439ac908>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[ ] parameters, System.Globalization.CultureInfo culture) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[ ] parameters) (at <437ba245d8404784b9fbab9b439ac908>:0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at <6f28216fea9f453abf2e05b770ed3ee4>:0)
UnityEditor.HostView.Invoke (System.String methodName) (at <6f28216fea9f453abf2e05b770ed3ee4>:0)
UnityEditor.HostView.SendUpdate () (at <6f28216fea9f453abf2e05b770ed3ee4>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[ ] parameters, System.Globalization.CultureInfo culture) (at <437ba245d8404784b9fbab9b439ac908>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[ ] parameters, System.Globalization.CultureInfo culture) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[ ] parameters) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.Delegate.DynamicInvokeImpl (System.Object[ ] args) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.MulticastDelegate.DynamicInvokeImpl (System.Object[ ] args) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.Delegate.DynamicInvoke (System.Object[ ] args) (at <437ba245d8404784b9fbab9b439ac908>:0)
UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at <6f28216fea9f453abf2e05b770ed3ee4>:0)

Hi @Crouching-Tuna ,

Would you be able to share the files (just the subgraph(s) and the VFX itself) so we can take a look?

By the way, you can also change the value types directly in many of your nodes:

Cheers

5453856--556788--CTp4b1vUdx.gif

Sorry, i solved it but don’t know how to reproduce it anymore, but here’s what i remembered

So apparently i made this subgraph, and without it being used in any graph, there was no compile error.

But when i put it in a fresh new graph, it spams this error and the subgraph was never “added” (the operation must’ve stopped before it’s successfully placed).

Then i try to go back to open the subgraph, which then says “Windows can’t open this file” instead of opening it in Unity’s VFX window.

Then tried to open that fresh graph and well, i think it didn’t do anything because this graph is still opened in the VFX window (kinda forgot…)
But when i open another working graph, then try to open this problem fresh new graph, it says the same thing (Windows can’t open, please select a program to open with)

So after a long time trying to flip the switch of float int uint float in all of the nodes, and deleting half of the subgraph and whatever, figured nothing. UNTIL… i deleted the inputs. I have 2 “float” exposed attribute as input to the subgraph, (as seen in my screenshot in the OP), and they have a Range, min/max set up. I deleted those from the subgraph, then finally it works.

I thought, well that’s pretty weird. What’s wrong with those attributes? Then i recreated them, added the same exact Range and min/max, and now it works fine.
The node got corrupted? Or what? But basically i can’t reproduce it again…

And in the meanwhile all this happens, i’m also having the Blackboard window resize bug, but i guess it’s a side effect of a compile error?

Cheers

I’m glad it has started working, if you experience this again, please let us know.
We’ll try to keep an eye out for it as well! :slight_smile:

As for the Blackboard window resize, I’ve seen that as well, but haven’t been able to pin down reliable repro steps. As you mentioned, it might be related with having other errors.

I’m getting this again now, but still not 100% sure how to repro.

I have a subgraph operator, with some inputs. 1 of them is a float exposed. I deleted this input node, and from the blackboard, then added another with the same name, but now it’s an int.

Then, all of my vfx graph which has this subgraph, gets the bug “windows can’t open this file”. I can still open the subgraph operator, though

Then i renamed this new int, but still didn’t fix it.
Then i deleted this new int, and now i can finally open the other vfx graphs

I’m saying i’m not sure because this seems different than the first time i had this bug, but i believe the core problem is the same. II think this happens when i make a new subgraph by duplicating an existing one, then changing/deleting/adding an input

edit:
Attached is another subgraph, a fairly simple one. Problem is i can’t even add to a fresh new vfx graph. It spams error like first post. I made a new int and named it differently (SidesNew), btw, but it still happens.
Deleted the "SidesNew from the blackboard fixed it. (Index doesn’t need to be deleted)
Then made a new exposed int, named it New Int, and saved it.
This time, this subgraph can successfully be added to a vfx graph.
I thought it was a division by 0 (sides was a divider there), but leaving the default value 0 still works

edit2:
Currently also getting this
NullRef when right click > Enter Subgraph

NullReferenceException: Object reference not set to an instance of an object
UnityEditor.VFX.UI.VFXView.OnEnterSubgraph (UnityEngine.UIElements.DropdownMenuAction e) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/VFXView.cs:1700)
UnityEngine.UIElements.DropdownMenuAction.Execute () (at :0)
UnityEditor.UIElements.EditorMenuExtensions+<>c__DisplayClass0_0.b__0 () (at <6f28216fea9f453abf2e05b770ed3ee4>:0)
UnityEditor.GenericMenu.CatchMenu (System.Object userData, System.String[ ] options, System.Int32 selected) (at <6f28216fea9f453abf2e05b770ed3ee4>:0)

Hi Crouching Tuna,

I remade your graph and try to add, remove, replace parameters but couldn’t reproduce the problem. It would be great if you could keep the .vfx files and send it to us when you have the problem. It would be of great help to identify the problem.

Regards

I’ve been having the same issue as Crouching-Tuna.

I’ll create a graph, convert a section of it to a subgraph operator, then get locked out of the original graph after making changes to the subgraph.

Up until today the only option I’ve found is to duplicate the subgraph and delete the original. That at least allowed me to open the vfx graph again while retaining a backup of the subgraph.

I was able to resolve the issue today after reading Crouching-Tuna’s post by removing the range on my subgraph inputs.

I was able to recreate my issue and exported a package of the .vfx files.
To recreate the issue:
-Create a new vfx graph
-Add some nodes and convert to subgraph operator. (In my case a multiply and float node).
-In the subgraph operator, add an int input parameter and set it to have a range.
-Try reopening the original vfx graph and receive error ‘There is no application set to open the document “BrokenExample.vfx”.’

At first I tried using a float input with a range and didn’t have any issues.
Then I added an int input with a range and that triggered the error.

I’m using Visual Effect Graph 7.1.7 and Unity 2019.3.0f5.

**I just tried updating to vfx graph 7.1.8 and the issue doesn’t seem to exist anymore

5577946–575923–BrokenVFXGraph_Subgraph.unitypackage (17.6 KB)

Hi, i’m able to reproduce the bug, althought it might not be the exact same bug.

Just delete the “EndIndex” output parameter in ChannelRange, and bug disappears
Problem is, can’t open the graph AutoGridTraffic when a new output is added, even when it’s not used

edit:
I’m using 2019.3.0f6
Vfx 7.1.8

edit:
After undo-ing things so i can continue working, at some point the error is the opposite:
Exception: Numbers of output expressions (2) does not match number of output (with expression)s slots (3)

And so i kinda found the solution. Nested subgraph needs all dependent graphs to be compiled (that button on the top left), and/or ctrl+S’ed. It’ll do a loading bar saying all the relevant graphs
So far it’s correctly fixing all affected graphs. At least for this bug

The bug: Exception thrown while invoking [OnOpenAssetAttribute] method ‘VisualEffectAssetEditor:OnOpenVFX (int,int)’ : Exception: Numbers of output expressions (3) does not match number of output (with expression)s slots (2)

Full log

Exception thrown while invoking [OnOpenAssetAttribute] method ‘VisualEffectAssetEditor:OnOpenVFX (int,int)’ : Exception: Numbers of output expressions (3) does not match number of output (with expression)s slots (2)
UnityEditor.VFX.VFXOperator.UpdateOutputExpressions () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperator.cs:125)
UnityEditor.VFX.VFXSlot.RecomputeExpressionTree () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:932)
UnityEditor.VFX.VFXSlot.GetExpression () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:232)
UnityEditor.VFX.VFXSlot.UpdateLinkedInExpression (UnityEditor.VFX.VFXSlot destSlot, UnityEditor.VFX.VFXSlot refSlot) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:872)
UnityEditor.VFX.VFXSlot.RecomputeExpressionTree () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:925)
UnityEditor.VFX.VFXSlot.GetExpression () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:232)
UnityEditor.VFX.VFXOperator+<>c.b__6_1 (UnityEditor.VFX.VFXSlot s) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperator.cs:118)
UnityEditor.VFX.VFXOperator.GetSlotPredicateRecursive (System.Collections.Generic.List1[T] result, System.Collections.Generic.IEnumerable1[T] slots, System.Func2[T,TResult] fnTest) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperator.cs:20) UnityEditor.VFX.VFXOperator.UpdateOutputExpressions () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperator.cs:118) UnityEditor.VFX.VFXSlot.RecomputeExpressionTree () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:932) UnityEditor.VFX.VFXSlot.GetExpression () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:232) UnityEditor.VFX.VFXSlot.UpdateLinkedInExpression (UnityEditor.VFX.VFXSlot destSlot, UnityEditor.VFX.VFXSlot refSlot) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:872) UnityEditor.VFX.VFXSlot.RecomputeExpressionTree () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:925) UnityEditor.VFX.VFXSlot.GetExpression () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:232) UnityEditor.VFX.VFXSlot+<GetExpressionSlots>d__34.MoveNext () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Slots/VFXSlot.cs:287) System.Linq.Enumerable+SelectEnumerableIterator2[TSource,TResult].MoveNext () (at <351e49e2a5bf4fd6beabb458ce2255f3>:0)
System.Collections.Generic.List1[T].InsertRange (System.Int32 index, System.Collections.Generic.IEnumerable1[T] collection) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.Collections.Generic.List1[T].AddRange (System.Collections.Generic.IEnumerable1[T] collection) (at <437ba245d8404784b9fbab9b439ac908>:0)
UnityEditor.VFX.VFXSubgraphOperator.BuildExpression (UnityEditor.VFX.VFXExpression[ ] inputExpression) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXSubgraphOperator.cs:153)
UnityEditor.VFX.VFXOperator.UpdateOutputExpressions () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Models/Operators/VFXOperator.cs:123)
UnityEditor.VFX.UI.VFXOperatorController…ctor (UnityEditor.VFX.VFXOperator model, UnityEditor.VFX.UI.VFXViewController viewController) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Elements/Controllers/VFXOperatorController.cs:35)
UnityEditor.VFX.UI.VFXViewController.AddControllersFromModel (UnityEditor.VFX.VFXModel model) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/Controller/VFXViewController.cs:1721)
UnityEditor.VFX.UI.VFXViewController.SyncControllerFromModel (System.Boolean& groupNodeChanged) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/Controller/VFXViewController.cs:1503)
UnityEditor.VFX.UI.VFXViewController.GraphChanged () (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/Controller/VFXViewController.cs:968)
UnityEditor.VFX.UI.VFXViewController.ModelChanged (UnityEngine.Object obj) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/Controller/VFXViewController.cs:840)
UnityEditor.VFX.UI.VFXViewController…ctor (UnityEditor.VFX.VisualEffectResource vfx) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/Controller/VFXViewController.cs:1326)
UnityEditor.VFX.UI.VFXViewController.GetController (UnityEditor.VFX.VisualEffectResource resource, System.Boolean forceUpdate) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/Views/Controller/VFXViewController.cs:1301)
UnityEditor.VFX.UI.VFXViewWindow.InternalLoadResource (UnityEditor.VFX.VisualEffectResource resource) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/VFXViewWindow.cs:101)
UnityEditor.VFX.UI.VFXViewWindow.LoadResource (UnityEditor.VFX.VisualEffectResource resource, UnityEngine.VFX.VisualEffect effectToAttach) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/VFXViewWindow.cs:76)
UnityEditor.VFX.UI.VFXViewWindow.LoadAsset (UnityEngine.VFX.VisualEffectAsset asset, UnityEngine.VFX.VisualEffect effectToAttach) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/GraphView/VFXViewWindow.cs:68)
VisualEffectAssetEditor.OnOpenVFX (System.Int32 instanceID, System.Int32 line) (at Library/PackageCache/com.unity.visualeffectgraph@7.1.8/Editor/Inspector/VFXAssetEditor.cs:162)
UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

5590510–577693–vfxgraph.rar (34.7 KB)

Hi, thank you both for the additional information; we’ve managed to reproduce both issues!

@Crouching-Tuna In your case, it looks like we resync the outputs (possibly due to some other fix) and opening the subgraph once resolves the issue. The status of the issue can be tracked here:

@LoganSystems And in your case, the issue seems to be caused by having an exposed int with a range slider; removing the range on the exposed int is a workaround until we resolve this. The issue can be tracked here:

(the links might take a few hours to become publicly available)

1 Like

I wanna report another bug, but can’t make a proper repro until tomorrow

So i have a graph. In it, there’s a parameter called LineColor (Color)
It’s assigned to a vfx graph object in the scene

Then i wanna make a new graph. I duped that graph, deleted LineColor, and added a Gradient instead with the same name
Compiled the graph, then tried to assign the scene object with this new graph. Boom, unity crash (tried several times)
Only when i change the parameter name to something else, that it wont crash
So, another serialization issue it seems

1 Like

Hey @Crouching-Tuna ,
Nice catch! I’ve managed to reproduce the issue; you can track its status here.
(it might take a few min for the public issue tracker link to go live)