Search Issue Tracker

Won't Fix

Votes

0

Found in [Package]

2.0.0a13

Issue ID

UVSB-963

Regression

No

Draging and dropping private vaiables in the explorer can cause C code gneration to brake

Package: Visual Scripting Bugs

-

The user has the ability to move private variables via drag and drop. If you drag and drop one variable on top of another it will brake the C# code generation, braking the project.

Why would you drag and drop a variable on another variable? Perhaps you released a click by mistake when dragging, or you wanted to rearrange the order of variables. 

Steps to reproduce
* Open the [linked project|https://drive.google.com/file/d/1iJIYHrKTem7_VUYVeqaJm7jgX54M3fn2/view?usp=sharing] in Unity 2020.1
* Open the PlayerMovement Script
* Open the Bolt Explorer 
* Under Movement find the private variable rb
* Select it then drag and drop it over the col variable

Notice issue >> Found no member aliased to BoltClass#20188

Tested broken: Unity 2020.1, macOS, Bolt 2.0.0a13, LiveMode 
{code:java}
// Unity.Bolt.CodeGenerationException: Failed to generate value output expression. ---> System.Collections.Generic.KeyNotFoundException: Found no member aliased to '([ BoltClass#20188 > Movement#2e750d20#-1248683776 ], rb)' on 'Unity.Bolt.ClassGeneration'.
Available aliases:
PlayerMovement => Unity.Bolt.ConstructorGeneration
Bind => Unity.Bolt.MethodGeneration
SetupImplementation => Unity.Bolt.MethodGeneration
TeardownImplementation => Unity.Bolt.MethodGeneration
EnableImplementation => Unity.Bolt.MethodGeneration
DisableImplementation => Unity.Bolt.MethodGeneration
Get => Unity.Bolt.MethodGeneration
Set => Unity.Bolt.MethodGeneration
Invoke => Unity.Bolt.MethodGeneration
IsEnabled => Unity.Bolt.MethodGeneration
SetEnabled => Unity.Bolt.MethodGeneration
x => Unity.Bolt.FieldGeneration
([ BoltClass#20188 > Movement#2e750d20#-1248683776 ], x) => Unity.Bolt.FieldGeneration
z => Unity.Bolt.FieldGeneration
([ BoltClass#20188 > Movement#2e750d20#-1248683776 ], z) => Unity.Bolt.FieldGeneration
move => Unity.Bolt.FieldGeneration
([ BoltClass#20188 > Movement#2e750d20#-1248683776 ], move) => Unity.Bolt.FieldGeneration
rb => Unity.Bolt.FieldGeneration
([ BoltClass#20188 > Movement#2e750d20#-1248683776 ], rb) => Unity.Bolt.FieldGeneration
col => Unity.Bolt.FieldGeneration
([ BoltClass#20188 > Movement#2e750d20#-1248683776 ], col) => Unity.Bolt.FieldGeneration
isGrounded => Unity.Bolt.FieldGeneration
([ BoltClass#20188 > Movement#2e750d20#-1248683776 ], isGrounded) => Unity.Bolt.FieldGeneration
updateHook => Unity.Bolt.FieldGeneration
[ BoltClass#20188 > Movement#2e750d20#-1248683776 ].Update#0e5bc.hook => Unity.Bolt.FieldGeneration
updateHandler => Unity.Bolt.FieldGeneration
[ BoltClass#20188 > Movement#2e750d20#-1248683776 ].Update#0e5bc.handler => Unity.Bolt.FieldGeneration
Update => Unity.Bolt.MethodGeneration
[ BoltClass#20188 > Movement#2e750d20#-1248683776 ].Update#0e5bc.invoke => Unity.Bolt.MethodGeneration
startHook => Unity.Bolt.FieldGeneration
[ BoltClass#20188 > Movement#2e750d20#-1248683776 ].Start#a73c6.hook => Unity.Bolt.FieldGeneration
startHandler => Unity.Bolt.FieldGeneration
[ BoltClass#20188 > Movement#2e750d20#-1248683776 ].Start#a73c6.handler => Unity.Bolt.FieldGeneration
Start => Unity.Bolt.MethodGeneration
[ BoltClass#20188 > Movement#2e750d20#-1248683776 ].Start#a73c6.invoke => Unity.Bolt.MethodGeneration
isGrounded1 => Unity.Bolt.MethodGeneration
isGrounded#c1f35557#634003456 => Unity.Bolt.MethodGeneration
controller => Unity.Bolt.PropertyGeneration
Controller => Unity.Bolt.PropertyGeneration
speed => Unity.Bolt.PropertyGeneration
Speed => Unity.Bolt.PropertyGeneration
jumpPower => Unity.Bolt.PropertyGeneration
JumpPower => Unity.Bolt.PropertyGeneration
at Unity.Bolt.CompositeGeneration`1[TDeclaration].Member (System.Object alias) [0x00010] in /Users/johncrowe/Downloads/package/Editor/Bolt.Core/Generation/Generations/CompositeGeneration.cs:119
at Unity.Bolt.CompositeGeneration`1[TDeclaration].Field (System.Object alias) [0x00000] in /Users/johncrowe/Downloads/package/Editor/Bolt.Core/Generation/Generations/CompositeGeneration.cs:127
at Unity.Bolt.GetFlowGraphVariableGenerator.GenerateValueExpression (Unity.Bolt.MethodGeneration method) [0x0002a] in /Users/johncrowe/Downloads/package/Editor/Bolt.Flow/Units/BTS/GetFlowGraphVariableGenerator.cs:29
at Unity.Bolt.UnitGenerator`1[TUnit].GenerateValueOutputExpression (Unity.Bolt.MethodGeneration method, Unity.Bolt.ValueOutput valueOutput) [0x0002b] in /Users/johncrowe/Downloads/package/Editor/Bolt.Flow/Units/UnitGenerator.cs:162
--- End of inner exception stack trace ---<!GraphPing[0,20188,2e750d20-013b-4778-91e8-9e86265fe75d,18be5a39-e158-4393-8a5d-2cb0138e74cc]!>
UnityEngine.Debug:LogError(Object)
Unity.Bolt.CodeGenerationConsole:PingAndLogException(CodeGenerationException) (at /Users/johncrowe/Downloads/package/Editor/Bolt.Core/Generation/CodeGenerationConsole.cs:195)
Unity.Bolt.CodeGenerationConsole:DrawEntry(Entry, Boolean) (at /Users/johncrowe/Downloads/package/Editor/Bolt.Core/Generation/CodeGenerationConsole.cs:117)
Unity.Bolt.CodeGenerationConsole:OnGUI(GUILayoutOption[]) (at /Users/johncrowe/Downloads/package/Editor/Bolt.Core/Generation/CodeGenerationConsole.cs:30)
Unity.Bolt.CodePreviewWindow:_OnGUI() (at /Users/johncrowe/Downloads/package/Editor/Bolt.Core/Generation/CodePreviewWindow.cs:318)
Unity.Bolt.BoltEditorWindow:OnGUI() (at /Users/johncrowe/Downloads/package/Editor/Bolt.Core/Windows/BoltEditorWindow.cs:141)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)
{code}
Warning
{code:java}
// Failed to define GetFlowGraphVariable#c7374:
System.Exception: Missing graph variable with GUID 43759fbe on isGrounded#c1f35557#-1290119168.
at Unity.Bolt.FlowGraphVariableUnit.Definition () [0x0004a] in /Users/johncrowe/Downloads/package/Runtime/Bolt.Flow/Units/BTS/FlowGraphVariableUnit.cs:42
at Unity.Bolt.GetFlowGraphVariable.Definition () [0x00000] in /Users/johncrowe/Downloads/package/Runtime/Bolt.Flow/Units/BTS/GetFlowGraphVariable.cs:21
at Unity.Bolt.Unit`1[TFlowGraph].Define () [0x00030] in /Users/johncrowe/Downloads/package/Runtime/Bolt.Flow/Units/Unit.cs:205
UnityEngine.Debug:LogWarning(Object, Object)
Unity.Bolt.Unit`1:Define() (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Flow/Units/Unit.cs:221)
Unity.Bolt.Unit`1:AfterAdd(FlowGraph) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Flow/Units/Unit.cs:97)
Unity.Bolt.FlowGraphVariableUnit:AfterAdd(FlowGraph) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Flow/Units/BTS/FlowGraphVariableUnit.cs:46)
Unity.Bolt.GraphElement`1:Unity.Bolt.INotifiedCollectionChild<Unity.Bolt.IGraph>.AfterAdd(IGraph) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Graphs/GraphElement.cs:48)
Unity.Bolt.ParentCollection`3:AfterAdd(IUnit) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Collections/ParentCollection.cs:308)
Unity.Bolt.ParentCollection`3:InsertItem(Int32, IUnit) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Collections/ParentCollection.cs:97)
System.Collections.ObjectModel.Collection`1:Add(IUnit)
Unity.Bolt.VariantCollection`2:Add(IGraphElement) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Collections/VariantCollection.cs:42)
Unity.Bolt.MergedKeyedCollection`2:Add(IGraphElement) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Collections/MergedKeyedCollection.cs:168)
Unity.Bolt.GraphElementMergedCollection:Add(IEnumerable`1) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Graphs/GraphElementMergedCollection.cs:33)
Unity.Bolt.Graph:OnAfterDependenciesDeserialized() (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Graphs/Graph.cs:172)
Unity.Bolt.Serialization:CheckIfDependenciesMet(ISerializationDepender) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Serialization/Serialization.cs:906)
Unity.Bolt.Serialization:AwaitDependencies(ISerializationDepender) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Serialization/Serialization.cs:832)
Unity.Bolt.Graph:OnAfterDeserialize() (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Graphs/Graph.cs:161)
Unity.Bolt.FlowGraph:OnAfterDeserialize() (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Flow/Graphs/FlowGraph.cs:50)
Unity.Bolt.OdinSerializer.BaseFormatter`1:Deserialize(IDataReader) (at OdinSerializer/Core/Formatters/BaseFormatter.cs:256)
Unity.Bolt.OdinSerializer.BaseFormatter`1:Unity.Bolt.OdinSerializer.IFormatter.Deserialize(IDataReader) (at OdinSerializer/Core/Formatters/BaseFormatter.cs:175)
Unity.Bolt.OdinSerializer.ComplexTypeSerializer`1:ReadValue(IDataReader) (at OdinSerializer/Core/Serializers/ComplexTypeSerializer.cs:294)
Unity.Bolt.OdinSerializer.ListFormatter`1:DeserializeImplementation(List`1&, IDataReader) (at OdinSerializer/Core/Formatters/ListFormatter.cs:91)
Unity.Bolt.OdinSerializer.BaseFormatter`1:Deserialize(IDataReader) (at OdinSerializer/Core/Formatters/BaseFormatter.cs:222)
Unity.Bolt.OdinSerializer.ComplexTypeSerializer`1:ReadValue(IDataReader) (at OdinSerializer/Core/Serializers/ComplexTypeSerializer.cs:366)
Unity.Bolt.OdinSerializer.Serializer`1:ReadValueWeak(IDataReader) (at OdinSerializer/Core/Serializers/Serializer.cs:261)
Unity.Bolt.OdinSerializer.UnitySerializationUtility:DeserializeUnityObject(Object, IDataReader) (at OdinSerializer/Unity Integration/UnitySerializationUtility.cs:1726)
Unity.Bolt.OdinSerializer.UnitySerializationUtility:DeserializeUnityObject(Object, SerializationData&, DeserializationContext, Boolean, List`1) (at OdinSerializer/Unity Integration/UnitySerializationUtility.cs:1451)
Unity.Bolt.OdinSerializer.UnitySerializationUtility:DeserializeUnityObject(Object, SerializationData&, DeserializationContext) (at OdinSerializer/Unity Integration/UnitySerializationUtility.cs:1171)
Unity.Bolt.Serialization:OdinDeserializeInto(SerializationData, Object&) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Serialization/Serialization.cs:434)
Unity.Bolt.Serialization:OnAfterDeserializeImplementation(UnityAsset, FullSerializationData, SerializationData, Boolean&) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Serialization/Serialization.cs:728)
Unity.Bolt.UnityAsset:UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize() (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Unity/UnityAsset.cs:27)

{code}

  1. Resolution Note:

    Bolt 2 will not be released as its own product. See https://forum.unity.com/threads/visual-scripting-roadmap-update-august-2020.951675/ for details.

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.