Bolt.Addons.Community icon indicating copy to clipboard operation
Bolt.Addons.Community copied to clipboard

Warning when entering a script machine for the first time (Unity 2022 LTS)

Open DragonMapMaker opened this issue 1 year ago • 2 comments

I am getting a warning whenever I enter a flow graph (script machine) for the first time. Using both Unity 2022.3.13f1 LTS and 2022.3.7f1 LTS (Visual scripting v1.9.1) with the latest version of Bolt.Addons.Community v3.1.2 (no warning in v3.1.1).

Multiple 'Unity.VisualScripting.IWidget' for 'Unity.VisualScripting.ControlConnection'. Ignoring 'ControlConnectionWidget'. UnityEngine.Debug:LogWarning (object) Unity.VisualScripting.SingleDecoratorProvider3<Unity.VisualScripting.IGraphItem, Unity.VisualScripting.IWidget, Unity.VisualScripting.WidgetAttribute>:MapAttributeTypes () (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Decorators/SingleDecoratorProvider.cs:63) Unity.VisualScripting.SingleDecoratorProvider3<Unity.VisualScripting.IGraphItem, Unity.VisualScripting.IWidget, Unity.VisualScripting.WidgetAttribute>:.ctor () (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Decorators/SingleDecoratorProvider.cs:23) Unity.VisualScripting.WidgetProvider:.ctor (Unity.VisualScripting.ICanvas) (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Widgets/WidgetProvider.cs:9) Unity.VisualScripting.VisualScriptingCanvas1<Unity.VisualScripting.FlowGraph>:.ctor (Unity.VisualScripting.FlowGraph) (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Canvases/VisualScriptingCanvas.cs:35) Unity.VisualScripting.FlowCanvas:.ctor (Unity.VisualScripting.FlowGraph) (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Flow/FlowCanvas.cs:13) System.Reflection.ConstructorInfo:Invoke (object[]) Unity.VisualScripting.TypeUtility/<>c__DisplayClass8_0:<Instantiator>b__1 (object[]) (at ./Library/PackageCache/[email protected]/Runtime/VisualScripting.Core/Reflection/TypeUtility.cs:125) Unity.VisualScripting.TypeUtility:Instantiate (System.Type,bool,object[]) (at ./Library/PackageCache/[email protected]/Runtime/VisualScripting.Core/Reflection/TypeUtility.cs:154) Unity.VisualScripting.SingleDecoratorProvider3<Unity.VisualScripting.IGraph, Unity.VisualScripting.ICanvas, Unity.VisualScripting.CanvasAttribute>:CreateDecorator (System.Type,Unity.VisualScripting.IGraph) (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Decorators/SingleDecoratorProvider.cs:32) Unity.VisualScripting.SingleDecoratorProvider3<Unity.VisualScripting.IGraph, Unity.VisualScripting.ICanvas, Unity.VisualScripting.CanvasAttribute>:CreateDecorator (Unity.VisualScripting.IGraph) (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Decorators/SingleDecoratorProvider.cs:42) Unity.VisualScripting.SingleDecoratorProvider3<Unity.VisualScripting.IGraph, Unity.VisualScripting.ICanvas, Unity.VisualScripting.CanvasAttribute>:GetDecorator (Unity.VisualScripting.IGraph) (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Decorators/SingleDecoratorProvider.cs:251) Unity.VisualScripting.XCanvasProvider:Canvas (Unity.VisualScripting.IGraph) (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Canvases/CanvasProvider.cs:24) Unity.VisualScripting.GraphContext2<Unity.VisualScripting.FlowGraph, Unity.VisualScripting.FlowCanvas>:get_canvas () (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Context/GraphContext.cs:30) Unity.VisualScripting.GraphContext2<Unity.VisualScripting.FlowGraph, Unity.VisualScripting.FlowCanvas>:Unity.VisualScripting.IGraphContext.get_canvas () (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Context/GraphContext.cs:32) Unity.VisualScripting.GraphWindow:SetReference (Unity.VisualScripting.GraphReference,bool) (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Windows/GraphWindow.cs:107) Unity.VisualScripting.GraphWindow:set_reference (Unity.VisualScripting.GraphReference) (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Windows/GraphWindow.cs:74) Unity.VisualScripting.GraphWindow:<OnEnable>b__64_0 () (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Windows/GraphWindow.cs:330) Unity.VisualScripting.PluginContainer:add_delayCall (System.Action) (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Plugins/PluginContainer.cs:53) Unity.VisualScripting.GraphWindow:OnEnable () (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Windows/GraphWindow.cs:322) UnityEditor.WindowLayout:LoadDefaultWindowPreferences ()

DragonMapMaker avatar Nov 17 '23 12:11 DragonMapMaker

Just want to add, I'm getting similar issues. But it also happens when I open a state graph for the first time. I also have logs for "Unity.VisualScripting.ControlConnection" and "Unity.VisualScripting.ValueConnection"

Using 2023.3.0a16 though.

Multiple 'Unity.VisualScripting.IWidget' for 'Unity.VisualScripting.ValueConnection'. Ignoring 'Unity.VisualScripting.ValueConnectionWidget'. UnityEngine.Debug:LogWarning (object) (at ?) Unity.VisualScripting.SingleDecoratorProvider3<Unity.VisualScripting.IGraphItem, Unity.VisualScripting.IWidget, Unity.VisualScripting.WidgetAttribute>:MapAttributeTypes () (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Decorators/SingleDecoratorProvider.cs:63) Unity.VisualScripting.SingleDecoratorProvider3<Unity.VisualScripting.IGraphItem, Unity.VisualScripting.IWidget, Unity.VisualScripting.WidgetAttribute>:.ctor () (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Decorators/SingleDecoratorProvider.cs:23) Unity.VisualScripting.WidgetProvider:.ctor (Unity.VisualScripting.ICanvas) (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Widgets/WidgetProvider.cs:9) Unity.VisualScripting.VisualScriptingCanvas1<Unity.VisualScripting.StateGraph>:.ctor (Unity.VisualScripting.StateGraph) (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Canvases/VisualScriptingCanvas.cs:35) Unity.VisualScripting.StateCanvas:.ctor (Unity.VisualScripting.StateGraph) (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.State/Graph/StateCanvas.cs:12) System.Reflection.ConstructorInfo:Invoke (object[]) (at ?) Unity.VisualScripting.TypeUtility/<>c__DisplayClass8_0:<Instantiator>b__1 (object[]) (at ./Library/PackageCache/com.unity.visualscripting/Runtime/VisualScripting.Core/Reflection/TypeUtility.cs:125) Unity.VisualScripting.TypeUtility:Instantiate (System.Type,bool,object[]) (at ./Library/PackageCache/com.unity.visualscripting/Runtime/VisualScripting.Core/Reflection/TypeUtility.cs:154) Unity.VisualScripting.SingleDecoratorProvider3<Unity.VisualScripting.IGraph, Unity.VisualScripting.ICanvas, Unity.VisualScripting.CanvasAttribute>:CreateDecorator (System.Type,Unity.VisualScripting.IGraph) (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Decorators/SingleDecoratorProvider.cs:32) Unity.VisualScripting.SingleDecoratorProvider3<Unity.VisualScripting.IGraph, Unity.VisualScripting.ICanvas, Unity.VisualScripting.CanvasAttribute>:CreateDecorator (Unity.VisualScripting.IGraph) (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Decorators/SingleDecoratorProvider.cs:42) Unity.VisualScripting.SingleDecoratorProvider3<Unity.VisualScripting.IGraph, Unity.VisualScripting.ICanvas, Unity.VisualScripting.CanvasAttribute>:GetDecorator (Unity.VisualScripting.IGraph) (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Decorators/SingleDecoratorProvider.cs:251) Unity.VisualScripting.XCanvasProvider:Canvas (Unity.VisualScripting.IGraph) (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Canvases/CanvasProvider.cs:24) Unity.VisualScripting.GraphContext2<Unity.VisualScripting.StateGraph, Unity.VisualScripting.StateCanvas>:get_canvas () (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Context/GraphContext.cs:30) Unity.VisualScripting.GraphContext2<Unity.VisualScripting.StateGraph, Unity.VisualScripting.StateCanvas>:Unity.VisualScripting.IGraphContext.get_canvas () (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Context/GraphContext.cs:32) Unity.VisualScripting.GraphWindow:SetReference (Unity.VisualScripting.GraphReference,bool) (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Windows/GraphWindow.cs:107) Unity.VisualScripting.GraphWindow:set_reference (Unity.VisualScripting.GraphReference) (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Windows/GraphWindow.cs:74) Unity.VisualScripting.GraphWindow:MatchSelection (bool) (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Windows/GraphWindow.cs:182) Unity.VisualScripting.GraphWindow:_OnSelectionChange () (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Windows/GraphWindow.cs:271) Unity.VisualScripting.EditorApplicationUtility:OnSelectionChange () (at ./Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.Core/Utilities/EditorApplicationUtility.cs:135) UnityEditor.Selection:Internal_CallSelectionChanged () (at ?)

Blitz54 avatar Dec 11 '23 08:12 Blitz54

Yea i found the problem with this when it should be fixed in the next update

S2NX7 avatar Dec 11 '23 08:12 S2NX7

Yea i found the problem with this when it should be fixed in the next update

Mind sharing the fix? These warnings are annoying :)

camerondwills avatar May 06 '24 13:05 camerondwills

Yea i found the problem with this when it should be fixed in the next update

Mind sharing the fix? These warnings are annoying :)

Replace the FlowEditor script with this:


// using UnityEngine;
// using Unity.VisualScripting;
// using System;
// using System.Collections.Generic;
// using Unity.VisualScripting.Community;

//TODO Fix warning popup

// public sealed class CommunityControlConnectionWidget : UnitConnectionWidget<ControlConnection>
// {
//     private bool canTrigger = true;
//     private Color _color = Color.white;

//     public CommunityControlConnectionWidget(FlowCanvas canvas, ControlConnection connection) : base(canvas, connection)
//     {
//     }

//     public override void HandleInput()
//     {
//         base.HandleInput();

//         var outputFlowReroute = (connection.source.unit as FlowReroute);
//         var inputFlowReroute = (connection.destination.unit as FlowReroute);

//         if (selection.Contains(connection.destination.unit) && outputFlowReroute != null)
//         {
//             if (selection.Contains(outputFlowReroute))
//             {
//                 if (e.keyCode == KeyCode.Backspace && e.rawType == EventType.KeyDown && canTrigger)
//                 {
//                     canTrigger = false;

//                     outputFlowReroute.OutputVisible = !outputFlowReroute.OutputVisible;

//                 }

//                 if (e.keyCode == KeyCode.Backspace && e.rawType == EventType.KeyUp)
//                 {
//                     canTrigger = true;
//                 }
//             }
//         }

//         if (selection.Contains(connection.source.unit) && inputFlowReroute != null)
//         {
//             if (selection.Contains(inputFlowReroute))
//             {
//                 if (e.keyCode == KeyCode.Backspace && e.rawType == EventType.KeyDown && canTrigger)
//                 {
//                     canTrigger = false;

//                     inputFlowReroute.InputVisible = !inputFlowReroute.InputVisible;

//                 }

//                 if (e.keyCode == KeyCode.Backspace && e.rawType == EventType.KeyUp)
//                 {
//                     canTrigger = true;
//                 }
//             }
//         }
//     }

//     protected override void DrawConnection()
//     {
//         var outputFlowReroute = (connection.source.unit as FlowReroute);
//         var inputFlowReroute = (connection.destination.unit as FlowReroute);

//         if (outputFlowReroute != null && !outputFlowReroute.OutputVisible)
//         {
//             _color = outputFlowReroute.OutputColor;
//             if (clippingPosition.Contains(mousePosition) && outputFlowReroute.showFlowOnHover)
//             {
//                 base.DrawConnection();
//             }
//             return;
//         }
//         else if (inputFlowReroute != null && !inputFlowReroute.InputVisible)
//         {
//             _color = inputFlowReroute.InputColor;
//             if (clippingPosition.Contains(mousePosition) && inputFlowReroute.showFlowOnHover)
//             {
//                 base.DrawConnection();
//             }
//             return;
//         }

//         if (outputFlowReroute != null && outputFlowReroute.OutputVisible)
//         {
//             _color = outputFlowReroute.OutputColor;
//         }
//         else if (inputFlowReroute != null && inputFlowReroute.InputVisible)
//         {
//             _color = inputFlowReroute.InputColor;
//         }

//         // Draw the connection as usual
//         base.DrawConnection();
//     }

//     public override Color color => Color.red;

//     #region Droplets

//     protected override Vector2 GetDropletSize()
//     {
//         return BoltFlow.Icons.valuePortConnected?[12].Size() ?? 13 * Vector2.one;
//     }

//     protected override void DrawDroplet(Rect position)
//     {
//         if (BoltFlow.Icons.valuePortConnected != null)
//         {
//             GUI.DrawTexture(position, BoltFlow.Icons.valuePortConnected[12]);
//         }
//     }

//     #endregion
// }

And replace the ValueFlowEditor with this :


// using UnityEngine;
// using Unity.VisualScripting;
// using System;
// using System.Collections.Generic;
// using Unity.VisualScripting.Community;

// [Widget(typeof(ValueConnection))]
// public sealed class ValueConnectionWidget : UnitConnectionWidget<ValueConnection>
// {
//     private bool canTrigger = true;
//     private Color _color = Color.white;

//     public ValueConnectionWidget(FlowCanvas canvas, ValueConnection connection) : base(canvas, connection)
//     {
//     }

//     public override void HandleInput()
//     {
//         base.HandleInput();

//         var outputFlowReroute = (connection.source.unit as ValueReroute);
//         var inputFlowReroute = (connection.destination.unit as ValueReroute);

//         if (selection.Contains(connection.destination.unit) && outputFlowReroute != null)
//         {
//             if (selection.Contains(outputFlowReroute))
//             {
//                 if (e.keyCode == KeyCode.Backspace && e.rawType == EventType.KeyDown && canTrigger)
//                 {
//                     canTrigger = false;

//                     outputFlowReroute.outputVisible = !outputFlowReroute.outputVisible;

//                 }

//                 if (e.keyCode == KeyCode.Backspace && e.rawType == EventType.KeyUp)
//                 {
//                     canTrigger = true;
//                 }
//             }
//         }

//         if (selection.Contains(connection.source.unit) && inputFlowReroute != null)
//         {
//             if (selection.Contains(inputFlowReroute))
//             {
//                 if (e.keyCode == KeyCode.Backspace && e.rawType == EventType.KeyDown && canTrigger)
//                 {
//                     canTrigger = false;

//                     inputFlowReroute.inputVisible = !inputFlowReroute.inputVisible;

//                 }

//                 if (e.keyCode == KeyCode.Backspace && e.rawType == EventType.KeyUp)
//                 {
//                     canTrigger = true;
//                 }
//             }
//         }
//     }

//     protected override void DrawConnection()
//     {
//         var outputFlowReroute = (connection.source.unit as ValueReroute);
//         var inputFlowReroute = (connection.destination.unit as ValueReroute);

//         if (outputFlowReroute != null && !outputFlowReroute.outputVisible)
//         {
//             if (clippingPosition.Contains(mousePosition) && outputFlowReroute.showFlowOnHover)
//             {
//                 base.DrawConnection();
//             }
//             return;
//         }
//         else if (inputFlowReroute != null && !inputFlowReroute.inputVisible)
//         {
//             if (clippingPosition.Contains(mousePosition) && inputFlowReroute.showFlowOnHover)
//             {
//                 base.DrawConnection();
//             }
//             return;
//         }

//         base.DrawConnection();
//     }

//     protected override bool colorIfActive => !BoltFlow.Configuration.animateControlConnections || !BoltFlow.Configuration.animateValueConnections;

//     #region Droplets

//     public override IEnumerable<IWidget> subWidgets => base.subWidgets;

//     protected override bool showDroplets => BoltFlow.Configuration.animateControlConnections;

//     public override Color color => Unity.VisualScripting.ValueConnectionWidget.DetermineColor(connection.source.type, connection.destination.type);

//     protected override Vector2 GetDropletSize()
//     {
//         return BoltFlow.Icons.valuePortConnected?[12].Size() ?? 13 * Vector2.one;
//     }

//     protected override void DrawDroplet(Rect position)
//     {
//         if (BoltFlow.Icons.valuePortConnected != null)
//         {
//             GUI.DrawTexture(position, BoltFlow.Icons.valuePortConnected[12]);
//         }
//     }

//     #endregion
// }

S2NX7 avatar May 06 '24 13:05 S2NX7