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
- Any small change in UI Builder Inspector refreshes Editor Inspector
- Inaccurate Box Collider boundaries on a rotated child Cube when the parent GameObject Scale is non-uniform
- [Android] "SHADOWS_SCREEN" set as shader Keyword when no "_ShadowMapTexture" is bound leads to freeze on a build on some Mali GPU devices
- The global scene list is overridden in a project built with command line when the Override Global Scene List setting is disabled in the build profile
- Global Scenes are not included in the Build when building multiple Build Profiles at the same time
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.