HasReceivedEvent cannot use the lowest variable

Iggy

New member
1. Place HasReceivedEvent node in the tree
2. Create a variable
3. Try assigning the variable as Stored Value 1 inside the HasReceivedEvent
4. Notice you get the error.
5. Create another variable (make sure it's lower in the list)
6. Try assigning the first variables as Stored Value 1 inside the HasReceivedEvent
7. Notice it's successful.
8. Reorder the variables.
9. You can no longer use the first variable as an argument, but you can use the second one.

MissingMethodException: Cannot create an abstract class 'BehaviorDesigner.Runtime.SharedVariable'.
System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) (at <437ba245d8404784b9fbab9b439ac908>:0)
System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic) (at <437ba245d8404784b9fbab9b439ac908>:0)
BehaviorDesigner.Editor.FieldInspector.DrawSharedVariable (BehaviorDesigner.Runtime.Tasks.Task task, UnityEngine.GUIContent guiContent, System.Reflection.FieldInfo fieldInfo, System.Type fieldType, BehaviorDesigner.Runtime.SharedVariable sharedVariable) (at <d917a79751444cb5b4a389f044c18334>:0)
BehaviorDesigner.Editor.TaskInspector.DrawSharedVariableValue (BehaviorDesigner.Runtime.BehaviorSource behaviorSource, System.Reflection.FieldInfo field, UnityEngine.GUIContent guiContent, BehaviorDesigner.Runtime.Tasks.Task task, BehaviorDesigner.Runtime.SharedVariable sharedVariable, System.Boolean isReflectionTask, System.Boolean enabled, System.Boolean drawWatch) (at <d917a79751444cb5b4a389f044c18334>:0)
BehaviorDesigner.Editor.TaskInspector.DrawObjectFields (BehaviorDesigner.Runtime.BehaviorSource behaviorSource, BehaviorDesigner.Editor.TaskList taskList, BehaviorDesigner.Runtime.Tasks.Task task, System.Object obj, System.Boolean enabled, System.Boolean drawWatch) (at <d917a79751444cb5b4a389f044c18334>:0)
BehaviorDesigner.Editor.TaskInspector.DrawTaskFields (BehaviorDesigner.Runtime.BehaviorSource behaviorSource, BehaviorDesigner.Editor.TaskList taskList, BehaviorDesigner.Runtime.Tasks.Task task, System.Boolean enabled) (at <d917a79751444cb5b4a389f044c18334>:0)
BehaviorDesigner.Editor.TaskInspector.DrawTaskInspector (BehaviorDesigner.Runtime.BehaviorSource behaviorSource, BehaviorDesigner.Editor.TaskList taskList, BehaviorDesigner.Runtime.Tasks.Task task, System.Boolean enabled) (at <d917a79751444cb5b4a389f044c18334>:0)
BehaviorDesigner.Editor.BehaviorDesignerWindow.DrawPropertiesBox () (at <d917a79751444cb5b4a389f044c18334>:0)
BehaviorDesigner.Editor.BehaviorDesignerWindow.Draw () (at <d917a79751444cb5b4a389f044c18334>:0)
BehaviorDesigner.Editor.BehaviorDesignerWindow.OnGUI () (at <d917a79751444cb5b4a389f044c18334>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <437ba245d8404784b9fbab9b439ac908>: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 <437ba245d8404784b9fbab9b439ac908>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <437ba245d8404784b9fbab9b439ac908>:0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at /Users/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:367)
UnityEditor.HostView.Invoke (System.String methodName) (at /Users/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:361)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at /Users/builduser/buildslave/unity/build/Editor/Mono/HostView.cs:337)
UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect) (at /Users/builduser/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:356)
UnityEditor.DockArea.OldOnGUI () (at /Users/builduser/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:346)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Boolean canAffectFocus) (at /Users/builduser/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:293)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Boolean canAffectFocus) (at /Users/builduser/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:503)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at /Users/builduser/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:486)
UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus) (at /Users/builduser/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:477)
UnityEngine.UIElements.CommandEventDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at /Users/builduser/buildslave/unity/build/Modules/UIElements/Events/CommandEventDispatchingStrategy.cs:21)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at /Users/builduser/buildslave/unity/build/Modules/UIElements/EventDispatcher.cs:277)
UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at /Users/builduser/buildslave/unity/build/Modules/UIElements/EventDispatcher.cs:159)
UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at /Users/builduser/buildslave/unity/build/Modules/UIElements/Panel.cs:256)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /Users/builduser/buildslave/unity/build/Modules/UIElements/UIElementsUtility.bindings.cs:404)
UnityEngine.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /Users/builduser/buildslave/unity/build/Modules/UIElements/UIElementsUtility.bindings.cs:194)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:187)
UnityEditor.PopupCallbackInfo:SetEnumValueDelegate(Object, String[], Int32) (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorGUI.cs:3167)
 

Justin

Administrator
Staff member
I just tried to reproduce it on my local version but wasn't able to and then tried it on the Asset Store version and was able to reproduce it. Can you send me a PM with your Unity version and I'll send you an updated version?
 

Iggy

New member
Thanks, Justin, the issue doesn't block my project, I just thought I'd share it here. Happy to hear it's fixed in the local version. :)
 

..Tom..

New member
I find the same problem in SendEvent, actually. It is only the last/lowest variable, and if I re-order I can select it (and can't select whatever is the last/lowest then).

Using version 1.6.6
Unity Version 2020.1.9f1
 

Wolfi2k

New member
I experience the exact same problem in Unity 2019.4.2f1 and Behavior Designer Version 1.6.7.
Both in the "Send Event" and "Has Received Event", whenever I try to attach a variable to the event I get the error.
When I create a second shared variable I am able to attach the first one, but it will never receive any data from the event.
I am surprised this bug exists already so long.
 
Top