0
Fixed

Consolidation of Issues (1.3 Alpha 3 testing)

Marshall Brooks 3 years ago updated by Lazlo Bonin (Lead Developer) 2 years ago 4

What: 

The Scene Variables GameObject isn't being converted properly on upgrading to 1.3. As such, when Get Scene Variable is called referencing the Pre-Upgrade version, it throws the exception "More than one 'Bolt.SceneVariables' singleton in scene 'foo' at two places

First at Ludiq.SceneSingleton'1[T].Awake(T instance) [0x00062] in <1e8a3bb45c4fd2916e0ad29dfead69>:0

Second at Bolt.SceneVariables.Awake() [0x00000] in <4db1b35b2f694d0694d35d2c58b294e>:0


Workaround: 

If you are upgrading a project to 1.3, here is a workaround for the Duplicate Scene Variables runtime error.

First, make sure the option to automatically create a scene variables object is enabled in editor preferences

Second, go to the scene you want to upgrade, and disable the Scene Variables GameObject

This will automatically create a new Scene Variables GameObject (@Lazlo This might be a bug)

Then what you want to do is select your OLD Scene Variables GameObject (The one that's disabled)

Right-Click the component header for Variables (Script) to open the context menu

Then click Copy Component

Go back to the new (Active) Scene Variables GameObject, open the context menu on the Variables (Script) Component

Then select "Paste Component as New"

You are now free to delete the old (disabled) Scene Variables




Occurs in every scene except the Initial scene.


*********************************************************************************************************


What: Errors when unloading scene in Hierarchy. 

Reproducible: Yes

Reproduction Steps: 

1: Open Scene with a mult-level State Machine GameObject (Only Component on the GameObject)

2: Select StateMachine GameObject

3: Enter a FlowMachine that's embedded into the StateMachine

4: Select another already open Scene.

5: Open context menu for the prior Scene (the one with the SM), and select Unload Scene.





Error 1: 

MissingReferenceException: The object of type 'StateMachine' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
Ludiq.ComponentHolderProtocol.GameObject (UnityEngine.Object uo) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Utilities/ComponentHolderProtocol.cs:29)
Bolt.UnitDescriptor`1+<ValueInputWarnings>d__48[TUnit].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:539)
Bolt.UnitDescriptor`1+<Warnings>d__47[TUnit].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:466)
System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].ToArray () (at <11c1c8f1ba1046b191f565f88728429e>:0)
System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <11c1c8f1ba1046b191f565f88728429e>:0)
Ludiq.ConversionUtility.EnumerableToListConversion (System.Object value, System.Type listType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:428)
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type, Ludiq.ConversionUtility+ConversionType conversionType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:500)
Rethrow as InvalidConversionException: Failed to convert from 'Bolt.UnitDescriptor`1+<Warnings>d__47[Bolt.InvokeMember]' to 'System.Collections.Generic.List`1[Bolt.Warning]' via EnumerableToList.
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type, Ludiq.ConversionUtility+ConversionType conversionType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:511)
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:215)


Error 2:

ArgumentException: Getting control 0's position in a group with only 0 controls when doing repaint
Aborting
UnityEngine.GUILayoutGroup.GetNext () (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/LayoutGroup.cs:115)
UnityEngine.GUILayoutUtility.BeginLayoutGroup (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options, System.Type layoutType) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayoutUtility.cs:299)
UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:306)
UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:296)
Ludiq.GraphWindow.OnGUI () (at <48595935831f424e91fab85b3d38cc85>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <c95265f74fdf4905bfb0d5a4b652216c>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <c95265f74fdf4905bfb0d5a4b652216c>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <c95265f74fdf4905bfb0d5a4b652216c>:0)


Error 3:

MissingReferenceException: The object of type 'StateMachine' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
Ludiq.ComponentHolderProtocol.GameObject (UnityEngine.Object uo) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Utilities/ComponentHolderProtocol.cs:29)
Bolt.UnitDescriptor`1+<ValueInputWarnings>d__48[TUnit].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:539)
Bolt.UnitDescriptor`1+<Warnings>d__47[TUnit].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:466)
System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].ToArray () (at <11c1c8f1ba1046b191f565f88728429e>:0)
System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <11c1c8f1ba1046b191f565f88728429e>:0)
Ludiq.ConversionUtility.EnumerableToListConversion (System.Object value, System.Type listType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:428)
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type, Ludiq.ConversionUtility+ConversionType conversionType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:500)
Rethrow as InvalidConversionException: Failed to convert from 'Bolt.UnitDescriptor`1+<Warnings>d__47[Bolt.InvokeMember]' to 'System.Collections.Generic.List`1[Bolt.Warning]' via EnumerableToList.
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type, Ludiq.ConversionUtility+ConversionType conversionType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:511)

Ludiq.ConversionUtility.Convert (System.Object value, System.Type type) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:215)


Error 4:

MissingReferenceException: The object of type 'StateMachine' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
Ludiq.ComponentHolderProtocol.GameObject (UnityEngine.Object uo) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Utilities/ComponentHolderProtocol.cs:29)
Bolt.UnitDescriptor`1+<ValueInputWarnings>d__48[TUnit].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:539)
Bolt.UnitDescriptor`1+<Warnings>d__47[TUnit].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:466)
System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].ToArray () (at <11c1c8f1ba1046b191f565f88728429e>:0)
System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <11c1c8f1ba1046b191f565f88728429e>:0)
Ludiq.ConversionUtility.EnumerableToListConversion (System.Object value, System.Type listType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:428)
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type, Ludiq.ConversionUtility+ConversionType conversionType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:500)
Rethrow as InvalidConversionException: Failed to convert from 'Bolt.UnitDescriptor`1+<Warnings>d__47[Bolt.InvokeMember]' to 'System.Collections.Generic.List`1[Bolt.Warning]' via EnumerableToList.
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type, Ludiq.ConversionUtility+ConversionType conversionType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:511)
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:215)


Error 5:


MissingReferenceException: The object of type 'StateMachine' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
Ludiq.ComponentHolderProtocol.GameObject (UnityEngine.Object uo) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Utilities/ComponentHolderProtocol.cs:29)
Bolt.UnitDescriptor`1+<ValueInputWarnings>d__48[TUnit].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:539)
Bolt.UnitDescriptor`1+<Warnings>d__47[TUnit].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:466)
System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].ToArray () (at <11c1c8f1ba1046b191f565f88728429e>:0)
System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <11c1c8f1ba1046b191f565f88728429e>:0)
Ludiq.ConversionUtility.EnumerableToListConversion (System.Object value, System.Type listType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:428)
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type, Ludiq.ConversionUtility+ConversionType conversionType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:500)
Rethrow as InvalidConversionException: Failed to convert from 'Bolt.UnitDescriptor`1+<Warnings>d__47[Bolt.InvokeMember]' to 'System.Collections.Generic.List`1[Bolt.Warning]' via EnumerableToList.
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type, Ludiq.ConversionUtility+ConversionType conversionType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:511)
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:215)


Errors 2, 3, 4 and 5 Continue throwing errors, though 4 and 5 much more quickly than 2 and 3. Required Unity restart.


Edit 1: 

Additional Error to add to the list.


ArgumentException: Getting control 0's position in a group with only 0 controls when doing mouseMove
Aborting
UnityEngine.GUILayoutGroup.GetNext () (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/LayoutGroup.cs:115)
UnityEngine.GUILayoutUtility.BeginLayoutGroup (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options, System.Type layoutType) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayoutUtility.cs:299)
UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:306)
UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:296)
Ludiq.GraphWindow.OnGUI () (at <48595935831f424e91fab85b3d38cc85>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <c95265f74fdf4905bfb0d5a4b652216c>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <c95265f74fdf4905bfb0d5a4b652216c>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <c95265f74fdf4905bfb0d5a4b652216c>:0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:295)
UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:288)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:261)
UnityEditor.DockArea.OldOnGUI () (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:396)



***************************************************************************************************


What: Errors in Console after making a node change in a Flow Machine inside a SM, then running Build.


Post-Error Workaround:

All you need to do is Right-Click a GameObject in the Hierarchy. Make sure you save. That will make the errors stop stacking up. Then what I do is Update Unit Options. (Otherwise the errors will restart when trying to build)

Error Prevention Workaround: 

Carefully navigate up the breadcrumbs to the root graph, select that GameObject, select a couple without an attached machine, select one with a machine to refresh the graph window (in the same scene, dunno if it works with an out of scene object), then select a graph in another scene.



Error 0: Error building Player: 4 errors. Pretty self explanatory


Error 1:


UnityEditor.BuildPlayerWindow+BuildMethodException: 6 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x0020e] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:181 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00065] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:88 

UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)



Error 2:


MissingReferenceException: The object of type 'StateMachine' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
Ludiq.ComponentHolderProtocol.GameObject (UnityEngine.Object uo) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Utilities/ComponentHolderProtocol.cs:29)
Bolt.UnitDescriptor`1+<ValueInputWarnings>d__48[TUnit].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:539)
Bolt.UnitDescriptor`1+<Warnings>d__47[TUnit].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:466)
System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].ToArray () (at <11c1c8f1ba1046b191f565f88728429e>:0)
System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <11c1c8f1ba1046b191f565f88728429e>:0)

Ludiq.ConversionUtility.EnumerableToListConversion (System.Object value, System.Type listType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:428)



Error 3


MissingReferenceException: The object of type 'StateMachine' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
Ludiq.ComponentHolderProtocol.GameObject (UnityEngine.Object uo) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Utilities/ComponentHolderProtocol.cs:29)
Bolt.UnitDescriptor`1+<ValueInputWarnings>d__48[TUnit].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:539)
Bolt.UnitDescriptor`1+<Warnings>d__47[TUnit].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:466)
System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].ToArray () (at <11c1c8f1ba1046b191f565f88728429e>:0)
System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <11c1c8f1ba1046b191f565f88728429e>:0)
Ludiq.ConversionUtility.EnumerableToListConversion (System.Object value, System.Type listType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:428)



Error 4:


ArgumentException: Getting control 0's position in a group with only 0 controls when doing repaint
Aborting
UnityEngine.GUILayoutGroup.GetNext () (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/LayoutGroup.cs:115)
UnityEngine.GUILayoutUtility.BeginLayoutGroup (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options, System.Type layoutType) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayoutUtility.cs:299)
UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:306)
UnityEngine.GUILayout.BeginHorizontal (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:296)
Ludiq.GraphWindow.OnGUI () (at <48595935831f424e91fab85b3d38cc85>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <c95265f74fdf4905bfb0d5a4b652216c>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.


********************************************************************************************

Bolt Version:
Unity Version:
Platform(s):
Scripting Backend:
.NET Version (API Compatibility Level):

Unlike the two I got yesterday (Ambiguous element in graph, and an empty graph), I got two errors on a new, bare project.

The first was I left a node unconnected.  Whoops.  However, it spews out a GUID rather than a port.  Not a big deal, but it was IMMEDIATELY AFTER this error that I got the second, more insidious error.

MissingValuePortInputException: Missing input value for 'a8ad21dd-5c11-41e3-92d5-3f9f00aa6482'.
Bolt.ValueInput.GetValue (Ludiq.Recursion recursion) (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Runtime/Ports/ValueInput.cs:90)
Bolt.XUnitValuePort.GetValue (IUnitValuePort gettable, Ludiq.Recursion recursion, System.Type type) (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Runtime/Ports/IUnitValuePort.cs:24)
Bolt.GraphInput+<>c__DisplayClass1_0.<Definition>b__0 (Ludiq.Recursion recursion) (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Runtime/Framework/Nesting/GraphInput.cs:49)
Bolt.ValueOutput.GetValue (Ludiq.Recursion recursion) (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Runtime/Ports/ValueOutput.cs:96)


Then, on exiting playmode, I got this:

MissingReferenceException: The object of type 'FlowMachine' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
Ludiq.ComponentHolderProtocol.GameObject (UnityEngine.Object uo) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Utilities/ComponentHolderProtocol.cs:29)
Bolt.UnitDescriptor`1+<ValueInputWarnings>d__48[Bolt.GetMember].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:539)
Bolt.UnitDescriptor`1+<Warnings>d__47[Bolt.GetMember].MoveNext () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:526)
System.Linq.Enumerable+<CreateCastIterator>c__Iterator0`1[System.Object].MoveNext ()
System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[System.Object].MoveNext ()
System.Collections.Generic.List`1[System.Object].AddEnumerable (IEnumerable`1 enumerable) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/List.cs:128)
System.Collections.Generic.List`1[System.Object]..ctor (IEnumerable`1 collection) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/List.cs:65)
System.Linq.Enumerable.ToArray[Object] (IEnumerable`1 source)
Ludiq.ConversionUtility.EnumerableToListConversion (System.Object value, System.Type listType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:428)
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type, ConversionType conversionType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:500)
Rethrow as InvalidConversionException: Failed to convert from 'Bolt.UnitDescriptor`1+<Warnings>d__47[Bolt.GetMember]' to 'System.Collections.Generic.List`1[Bolt.Warning]' via EnumerableToList.
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type, ConversionType conversionType) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:511)
Ludiq.ConversionUtility.Convert (System.Object value, System.Type type) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Runtime/Reflection/ConversionUtility.cs:215)
Ludiq.DescriptionAssignment._Run (IDescriptor descriptor, IDescription description) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Editor/Descriptors/DescriptionAssignment.cs:74)
Ludiq.DescriptionAssignment.Run (IDescriptor descriptor, IDescription description) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Editor/Descriptors/DescriptionAssignment.cs:41)
Ludiq.Descriptor`2[TTarget,TDescription].DescribeAll () (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Editor/Descriptors/Descriptor.cs:46)
Bolt.UnitDescriptor`1[TUnit].DescribeAll () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescriptor.cs:29)
Ludiq.Descriptor`2[TTarget,TDescription].ValidateDescription () (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Editor/Descriptors/Descriptor.cs:66)
Ludiq.XDescriptorProvider.Description (IDescribable target) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Editor/Descriptors/DescriptorProvider.cs:92)
Ludiq.XDescriptorProvider.Description[UnitDescription] (IDescribable target) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Core/Editor/Descriptors/DescriptorProvider.cs:98)
Bolt.XUnitDescription.Description (IUnit unit) (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Description/UnitDescription.cs:20)
Bolt.UnitWidget`1[Bolt.IUnit].CacheDescription () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Units/UnitWidget.cs:79)
Ludiq.Widget`1[Bolt.IUnit].CacheModelFirstTime () (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Graphs/Editor/Widgets/Widget.cs:66)
Bolt.UnitWidget`1[Bolt.IUnit].CacheModelFirstTime () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/Units/UnitWidget.cs:60)
Ludiq.Widget`1[Bolt.IUnit].CacheModel () (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Graphs/Editor/Widgets/Widget.cs:73)
Ludiq.Canvas`1[TGraph].CacheWidgetModels () (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Graphs/Editor/Canvases/Canvas.cs:50)
Ludiq.Canvas`1[TGraph].OnOpen () (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Graphs/Editor/Canvases/Canvas.cs:118)
Bolt.FlowCanvas.OnOpen () (at C:/Users/lazlo/Projects/Ludiq/Bolt.Flow/Editor/FlowCanvas.cs:135)
Ludiq.GraphContext.Open () (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Graphs/Editor/Context/GraphContext.cs:143)
Ludiq.GraphContextBreadcrumb.set_context (Ludiq.GraphContext value) (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Graphs/Editor/Context/GraphContextBreadcrumb.cs:76)
Ludiq.GraphContextBreadcrumb.Validate () (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Graphs/Editor/Context/GraphContextBreadcrumb.cs:129)
Ludiq.GraphContextBreadcrumbs.Validate () (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Graphs/Editor/Context/GraphContextBreadcrumbs.cs:229)
Ludiq.GraphInspectorWindow.OnGUI () (at C:/Users/lazlo/Projects/Ludiq/Ludiq.Graphs/Editor/Windows/GraphInspectorWindow.cs:121)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:295)
UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:288)
UnityEditor.HostView.InvokeOnGUI (Rect onGUIPosition) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:255)


I am not creating or destroying any gameobjects with machines on them.  I only have one object in this entire project with a graph on it (small project)



+1
Pending Review

Thanks for the reports! :) Really helps.

So every "Machine has been destroyed" bug was introduced in Alpha 3 and will be fixed in Alpha 4.

The GUID error is a consequence of a 1.3 design decision that I might choose to revert. It implied using static GUID for port keys rather than manual strings. I thought this was clever, because it meant there wouldn't be any way of accidentally renaming and breaking your connections, but it turns out it has some consequences like spewing hard to debug errors rather than clear port names. Furthermore, now that connection preservation is implemented, losing a connection is really not as bad as before, because you can always revert your name. Therefore, what I think I'll do is revert the port-keys-are-GUIDs change and wait for a further release to implement proper refactoring tools for those.

tl;dr: Changing my mind, will be like it was in v.1.2.