Exception thrown while invoking [OnOpenAssetAttribute]

hairibar

New member
We're unable to open our ExternalBehaviors, even on an empty project. Double clicking one of them throws the following exception:

Code:
Exception thrown while invoking [OnOpenAssetAttribute] method 'BehaviorDesigner.Editor.ExternalBehaviorInspector:ClickAction (int,int)' : MissingMethodException: Method not found: bool BehaviorDesigner.Runtime.BehaviorSource.CheckForSerialization(bool,BehaviorDesigner.Runtime.BehaviorSource)
BehaviorDesigner.Editor.BehaviorDesignerWindow.ReloadPreviousBehavior () (at <d4f1a3aa6f1a495496d6efce8625ce9a>:0)
BehaviorDesigner.Editor.BehaviorDesignerWindow.OnFocus () (at <d4f1a3aa6f1a495496d6efce8625ce9a>:0)
UnityEditor.HostView.RegisterSelectedPane (System.Boolean sendEvents) (at <2e279d988b9d4542841de511fbfdf8c2>:0)
UnityEditor.HostView.SetActualViewInternal (UnityEditor.EditorWindow value, System.Boolean sendEvents) (at <2e279d988b9d4542841de511fbfdf8c2>:0)
UnityEditor.DockArea.SetSelectedPrivate (System.Int32 value, System.Boolean sendEvents) (at <2e279d988b9d4542841de511fbfdf8c2>:0)
UnityEditor.DockArea.AddTab (System.Int32 idx, UnityEditor.EditorWindow pane, System.Boolean sendPaneEvents) (at <2e279d988b9d4542841de511fbfdf8c2>:0)
UnityEditor.DockArea.AddTab (UnityEditor.EditorWindow pane, System.Boolean sendPaneEvents) (at <2e279d988b9d4542841de511fbfdf8c2>:0)
UnityEditor.EditorWindow.CreateNewWindowForEditorWindow (UnityEditor.EditorWindow window, System.Boolean loadPosition, System.Boolean showImmediately, System.Boolean setFocus) (at <2e279d988b9d4542841de511fbfdf8c2>:0)
UnityEditor.EditorWindow.Show (System.Boolean immediateDisplay) (at <2e279d988b9d4542841de511fbfdf8c2>:0)
UnityEditor.EditorWindow.Show () (at <2e279d988b9d4542841de511fbfdf8c2>:0)
UnityEditor.EditorWindow.GetWindowPrivate (System.Type t, System.Boolean utility, System.String title, System.Boolean focus) (at <2e279d988b9d4542841de511fbfdf8c2>:0)
UnityEditor.EditorWindow.GetWindow (System.Type windowType, System.Boolean utility, System.String title, System.Boolean focus) (at <2e279d988b9d4542841de511fbfdf8c2>:0)
UnityEditor.EditorWindow.GetWindow[T] (System.Boolean utility, System.String title, System.Boolean focus) (at <2e279d988b9d4542841de511fbfdf8c2>:0)
UnityEditor.EditorWindow.GetWindow[T] (System.Boolean utility, System.String title) (at <2e279d988b9d4542841de511fbfdf8c2>:0)
BehaviorDesigner.Editor.BehaviorDesignerWindow.ShowWindow () (at <d4f1a3aa6f1a495496d6efce8625ce9a>:0)
BehaviorDesigner.Editor.ExternalBehaviorInspector.ClickAction (System.Int32 instanceID, System.Int32 line) (at <d4f1a3aa6f1a495496d6efce8625ce9a>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

Unity version: 2022.3.9f1
Behavior Designer version: 1.7.7p1, but with the latest available runtime source instead of the runtime plugin.

I've hackilly tried changing BehaviorSource.CheckForSerialization to remove the isPlaying argument. This makes the window open, but not even the entry node is visible. (Understable that things would be broken by me blindly removing arguments, obviously, but I thought it might be useful information).

Interestingly, I've noticed that the window still says that 1.7.4 is available, even though I'm supposedly on 1.7.7.
Could it be that the latest available runtime source is for a previous version of Behavior Designer?
 
Last edited:
The CheckForSerialization signature did change in one of the more recent updates. It does sound like you have a mismatched editor/runtime. I just checked the runtime source and it is the correct version - I would try downloading again and ensuring that you test in a fresh project to ensure you're seeing the latest.
 
Thank you for confirming, we got everything working after starting the update from scratch with better understanding.
Sorry for the bug report, my bad!
 
Back
Top