static void Init()
    {
        // Get existing open window or if none, make a new one:
        LocalAreaUpdaterEditor window = EditorWindow.GetWindow <LocalAreaUpdaterEditor> ("Local Area [BETA]");

        window.Show();
        SceneView.onSceneGUIDelegate += window.OnSceneGUI;
        window.loadedScenes.Clear();
        window.loadedScenes.AddRange(EditorSceneManager.GetAllScenes());
    }
 /// <summary>
 /// Unloads all scenes.
 /// </summary>
 void UnloadScenes()
 {
     UnityEngine.SceneManagement.Scene scene = EditorSceneManager.GetActiveScene();
     foreach (var item in EditorSceneManager.GetAllScenes())
     {
         if (item != scene)
         {
             EditorSceneManager.CloseScene(item, true);
         }
     }
 }
 public static List <T> FindObjectsOfTypeAllScenesEditor <T>(bool includeInactive = true) => EditorSceneManager.GetAllScenes().Where(s => s.isLoaded).SelectMany(s => s.GetRootGameObjects()).SelectMany(g => g.GetComponentsInChildren <T>(includeInactive)).ToList();