Bolt.Addons.Community
Bolt.Addons.Community copied to clipboard
Warning when entering a script machine for the first time (Unity 2022 LTS)
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.SingleDecoratorProvider
3<Unity.VisualScripting.IGraphItem, Unity.VisualScripting.IWidget, Unity.VisualScripting.WidgetAttribute>:MapAttributeTypes () (at ./Library/PackageCache/[email protected]/Editor/VisualScripting.Core/Decorators/SingleDecoratorProvider.cs:63) Unity.VisualScripting.SingleDecoratorProvider
3<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.SingleDecoratorProvider
3<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.SingleDecoratorProvider
3<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.GraphContext
2<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 ()
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.SingleDecoratorProvider
3<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.VisualScriptingCanvas
1<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.SingleDecoratorProvider
3<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.GraphContext
2<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 ?)
Yea i found the problem with this when it should be fixed in the next update
Yea i found the problem with this when it should be fixed in the next update
Mind sharing the fix? These warnings are annoying :)
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
// }