Thanks, I was able to reproduce it. That played a large part of it. You have 60 variables and each one is drawn with GUILayout/EditorGUILayout. As soon as I collapse the variables foldout then the speed is improved. The GUILayout class does a lot under the hood and even if I do a static GUILayout.Label("Hi") for the 60 times it causes a framerate drop. I may be able to switch it to Unity's treeview so it only displays a limited number of fields and then that would help. There were a couple of unnecessary repaint calls within the editor that I was able to eliminate. This helped improved the editor speed when the variables foldout was collapsed. I'll send you a new version to try out. Keep in mind though that the editor updates whenever a task changes so the more tasks that you have the more it'll have to update to show the latest changes. With an extremely large tree like you have that means a task will constantly be changing so it will have to update often.