scornflake
New member
Perhaps I'm going about this wrong, but if I try to setup a 'get property' or 'get field', the editor throws an exception and the UI goes blank.
I'm doing this inside am externally saved BT. That is passed a single GameObject, from which I want to get the transform.
The variable 'target' is of type GameObject, and isn't assigned at edit time.
1. Here are the vars:
2. Trying to get a transform from the gameobject:
3. When I click Dynamic, I get the exception:
Any ideas?
---
Finally, here's a dump of (one of) the exceptions:
NullReferenceException: Object reference not set to an instance of an object
BehaviorDesigner.Editor.TaskInspector.DrawReflectionField (BehaviorDesigner.Runtime.Tasks.Task task, UnityEngine.GUIContent guiContent, System.Boolean drawComponentField, System.Reflection.FieldInfo field) (at <6224ec08a63b4190a0704159812b1ad4>: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 <6224ec08a63b4190a0704159812b1ad4>: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 <6224ec08a63b4190a0704159812b1ad4>:0)
BehaviorDesigner.Editor.TaskInspector.DrawTaskFields (BehaviorDesigner.Runtime.BehaviorSource behaviorSource, BehaviorDesigner.Editor.TaskList taskList, BehaviorDesigner.Runtime.Tasks.Task task, System.Boolean enabled) (at <6224ec08a63b4190a0704159812b1ad4>:0)
BehaviorDesigner.Editor.TaskInspector.DrawTaskInspector (BehaviorDesigner.Runtime.BehaviorSource behaviorSource, BehaviorDesigner.Editor.TaskList taskList, BehaviorDesigner.Runtime.Tasks.Task task, System.Boolean enabled) (at <6224ec08a63b4190a0704159812b1ad4>:0)
BehaviorDesigner.Editor.BehaviorDesignerWindow.DrawPropertiesBox () (at <6224ec08a63b4190a0704159812b1ad4>:0)
BehaviorDesigner.Editor.BehaviorDesignerWindow.Draw () (at <6224ec08a63b4190a0704159812b1ad4>:0)
BehaviorDesigner.Editor.BehaviorDesignerWindow.OnGUI () (at <6224ec08a63b4190a0704159812b1ad4>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <ac823e2bb42b41bda67924a45a0173c3>: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 <ac823e2bb42b41bda67924a45a0173c3>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <ac823e2bb42b41bda67924a45a0173c3>:0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:342)
UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:336)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:310)
UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect, System.Boolean customBorder, System.Boolean floatingWindow, System.Boolean isBottomTab) (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:361)
UnityEditor.DockArea.OldOnGUI () (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:320)
UnityEngine.Experimental.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:266)
UnityEngine.Experimental.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:438)
UnityEngine.Experimental.UIElements.IMGUIContainer.HandleIMGUIEvent () (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:412)
UnityEngine.Experimental.UIElements.ImmediateStylePainter.DrawImmediate (System.Action callback) (at C:/buildslave/unity/build/Modules/UIElements/ImmediateStylePainter.cs:113)
UnityEngine.Experimental.UIElements.IMGUIContainer.DoRepaint (UnityEngine.Experimental.UIElements.IStylePainter painter) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:98)
UnityEngine.Experimental.UIElements.VisualElement.Repaint (UnityEngine.Experimental.UIElements.IStylePainter painter) (at C:/buildslave/unity/build/Modules/UIElements/VisualElement.cs:845)
UnityEngine.Experimental.UIElements.VisualTreeRepaintUpdater.PaintSubTree (UnityEngine.Experimental.UIElements.VisualElement root, UnityEngine.Matrix4x4 offset, System.Boolean shouldClip, System.Boolean shouldCache, UnityEngine.Rect currentGlobalClip) (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeRepaintUpdater.cs:310)
UnityEngine.Experimental.UIElements.VisualTreeRepaintUpdater.PaintSubTreeChildren (UnityEngine.Experimental.UIElements.VisualElement root, UnityEngine.Matrix4x4 offset, System.Boolean shouldClip, System.Boolean shouldCache, UnityEngine.Rect textureClip) (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeRepaintUpdater.cs:328)
UnityEngine.Experimental.UIElements.VisualTreeRepaintUpdater.PaintSubTree (UnityEngine.Experimental.UIElements.VisualElement root, UnityEngine.Matrix4x4 offset, System.Boolean shouldClip, System.Boolean shouldCache, UnityEngine.Rect currentGlobalClip) (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeRepaintUpdater.cs:314)
UnityEngine.Experimental.UIElements.VisualTreeRepaintUpdater.Update () (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeRepaintUpdater.cs:35)
UnityEngine.Experimental.UIElements.VisualTreeUpdater.UpdateVisualTree () (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeUpdater.cs:70)
UnityEngine.Experimental.UIElements.Panel.Repaint (UnityEngine.Event e) (at C:/buildslave/unity/build/Modules/UIElements/Panel.cs:507)
UnityEngine.Experimental.UIElements.UIElementsUtility.DoDispatch (UnityEngine.Experimental.UIElements.BaseVisualElementPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:230)
UnityEngine.Experimental.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:68)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
I'm doing this inside am externally saved BT. That is passed a single GameObject, from which I want to get the transform.
The variable 'target' is of type GameObject, and isn't assigned at edit time.
1. Here are the vars:
2. Trying to get a transform from the gameobject:
3. When I click Dynamic, I get the exception:
Any ideas?
---
Finally, here's a dump of (one of) the exceptions:
NullReferenceException: Object reference not set to an instance of an object
BehaviorDesigner.Editor.TaskInspector.DrawReflectionField (BehaviorDesigner.Runtime.Tasks.Task task, UnityEngine.GUIContent guiContent, System.Boolean drawComponentField, System.Reflection.FieldInfo field) (at <6224ec08a63b4190a0704159812b1ad4>: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 <6224ec08a63b4190a0704159812b1ad4>: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 <6224ec08a63b4190a0704159812b1ad4>:0)
BehaviorDesigner.Editor.TaskInspector.DrawTaskFields (BehaviorDesigner.Runtime.BehaviorSource behaviorSource, BehaviorDesigner.Editor.TaskList taskList, BehaviorDesigner.Runtime.Tasks.Task task, System.Boolean enabled) (at <6224ec08a63b4190a0704159812b1ad4>:0)
BehaviorDesigner.Editor.TaskInspector.DrawTaskInspector (BehaviorDesigner.Runtime.BehaviorSource behaviorSource, BehaviorDesigner.Editor.TaskList taskList, BehaviorDesigner.Runtime.Tasks.Task task, System.Boolean enabled) (at <6224ec08a63b4190a0704159812b1ad4>:0)
BehaviorDesigner.Editor.BehaviorDesignerWindow.DrawPropertiesBox () (at <6224ec08a63b4190a0704159812b1ad4>:0)
BehaviorDesigner.Editor.BehaviorDesignerWindow.Draw () (at <6224ec08a63b4190a0704159812b1ad4>:0)
BehaviorDesigner.Editor.BehaviorDesignerWindow.OnGUI () (at <6224ec08a63b4190a0704159812b1ad4>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <ac823e2bb42b41bda67924a45a0173c3>: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 <ac823e2bb42b41bda67924a45a0173c3>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <ac823e2bb42b41bda67924a45a0173c3>:0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:342)
UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:336)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:310)
UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect, System.Boolean customBorder, System.Boolean floatingWindow, System.Boolean isBottomTab) (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:361)
UnityEditor.DockArea.OldOnGUI () (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:320)
UnityEngine.Experimental.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:266)
UnityEngine.Experimental.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:438)
UnityEngine.Experimental.UIElements.IMGUIContainer.HandleIMGUIEvent () (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:412)
UnityEngine.Experimental.UIElements.ImmediateStylePainter.DrawImmediate (System.Action callback) (at C:/buildslave/unity/build/Modules/UIElements/ImmediateStylePainter.cs:113)
UnityEngine.Experimental.UIElements.IMGUIContainer.DoRepaint (UnityEngine.Experimental.UIElements.IStylePainter painter) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:98)
UnityEngine.Experimental.UIElements.VisualElement.Repaint (UnityEngine.Experimental.UIElements.IStylePainter painter) (at C:/buildslave/unity/build/Modules/UIElements/VisualElement.cs:845)
UnityEngine.Experimental.UIElements.VisualTreeRepaintUpdater.PaintSubTree (UnityEngine.Experimental.UIElements.VisualElement root, UnityEngine.Matrix4x4 offset, System.Boolean shouldClip, System.Boolean shouldCache, UnityEngine.Rect currentGlobalClip) (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeRepaintUpdater.cs:310)
UnityEngine.Experimental.UIElements.VisualTreeRepaintUpdater.PaintSubTreeChildren (UnityEngine.Experimental.UIElements.VisualElement root, UnityEngine.Matrix4x4 offset, System.Boolean shouldClip, System.Boolean shouldCache, UnityEngine.Rect textureClip) (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeRepaintUpdater.cs:328)
UnityEngine.Experimental.UIElements.VisualTreeRepaintUpdater.PaintSubTree (UnityEngine.Experimental.UIElements.VisualElement root, UnityEngine.Matrix4x4 offset, System.Boolean shouldClip, System.Boolean shouldCache, UnityEngine.Rect currentGlobalClip) (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeRepaintUpdater.cs:314)
UnityEngine.Experimental.UIElements.VisualTreeRepaintUpdater.Update () (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeRepaintUpdater.cs:35)
UnityEngine.Experimental.UIElements.VisualTreeUpdater.UpdateVisualTree () (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeUpdater.cs:70)
UnityEngine.Experimental.UIElements.Panel.Repaint (UnityEngine.Event e) (at C:/buildslave/unity/build/Modules/UIElements/Panel.cs:507)
UnityEngine.Experimental.UIElements.UIElementsUtility.DoDispatch (UnityEngine.Experimental.UIElements.BaseVisualElementPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:230)
UnityEngine.Experimental.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:68)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)