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
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}
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Depth texture is flipped when specific URP rendering settings are applied
- Warning of an unknown Script missing is logged when selecting VFX in Play Mode
- Vertical and horizontal scrollbars appear and disappear when dragging an attribute to a different position within the Shader Graph Hierarchy
- AudioSource.PlayDelayed() does not work with Audio Random Containers
- Compatible with the VFX Graph Shader Graph can't be dragged and dropped into the "Output" block from the Project window
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.