Page 1 of 1

Live tracking breaks the Arbor Editor.

Posted: 2023/05/16 07:15
by Joeyvrowl
OS
Windows 10 (tested on two different machines)

Unity version
2021.3.22f1
2021.3.24f1

Arbor version
3.9.5

Build platform
Windows

How to reproduce (also see SampleScene from attached project)
1. Make an FSM with a state and a behaviour (for instance, time transition that transitions to itself)
2. Make sure the Arbor Editor and Game windows are on the same row of tabs (so you can only see one or the other, not both at once)
3. Make sure the Arbor Editor is open with the FSM in it
4. Make sure Live Tracking is enabled
5. Press play so it goes to Game view
6. Go back to Arbor Editor

Sometimes you need to do this a few times before it breaks, but usually the first time.

You should see a list of errors in the console called "Pixels per point should be positive", from several sources in Arbor. The more states/behaviours, the more errors, probably one error per UI element. The state window is now empty, although parameters on the left are still visible. You need to restart Unity to fix it.

The stacktrace of each error differs depending on the UI element it was drawing, but here is an example:

Code: Select all

Pixels per point should be positive
UnityEditor.EditorGUI:DefaultPropertyField (UnityEngine.Rect,UnityEditor.SerializedProperty,UnityEngine.GUIContent)
UnityEditorInternal.ReorderableListWrapper:DrawChildren (UnityEngine.Rect,UnityEngine.Rect,UnityEngine.Rect,UnityEngine.Rect,UnityEngine.EventType)
UnityEditorInternal.ReorderableListWrapper:Draw (UnityEngine.GUIContent,UnityEngine.Rect,UnityEngine.Rect,string,bool)
UnityEditor.Editor:DrawDefaultInspector ()
ArborEditor.NodeBehaviourDefaultEditor:OnInspectorGUI () (at Packages/vrowl-fsm/Editor/Arbor/NodeBehaviourDefaultEditor.cs:17)
UnityEditor.UIElements.InspectorElement/<>c__DisplayClass59_0:<CreateIMGUIInspectorFromEditor>b__0 ()
ArborEditor.BehaviourEditorGUI/<>c__DisplayClass74_1:<CreateInspectorGUIElement>b__0 () (at Packages/vrowl-fsm/Editor/Arbor/BehaviourEditorGUI.cs:666)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

Re: Live tracking breaks the Arbor Editor.

Posted: 2023/05/16 09:16
by caitsithware
Thank you for your report.
I was able to reproduce it, so I will fix it.

Temporary workaround
  1. Open Assets/Plugins/Arbor/Internal/Editor/Windows/ArborEditorWindow.cs in code editor
  2. Change line 678 as follows

    Code: Select all

    if (_GraphView.isLayoutSetup && _IsUpdateLiveTracking)
If you apply this measure while this problem is occurring, please also restart Unity.