Fixed issue, where scenes could be valid, but not loaded and still crash Unity Editor when accessing path

This commit is contained in:
Anders Ejlersen 2025-12-17 20:29:44 +01:00
parent d34a50767b
commit 230a976a52
4 changed files with 16 additions and 4 deletions

View file

@ -38,7 +38,11 @@ namespace Module.NavigationTool.Editor.Toolbar
for (var i = 0; i < SceneList.labels.Length; i++)
{
var sceneIndex = i;
menu.AddItem(SceneList.labels[i], SceneList.selected.Contains(i), () => SelectScene(sceneIndex));
menu.AddItem(SceneList.labels[i], SceneList.selected.Contains(i), () =>
{
if (!Application.isPlaying)
SelectScene(sceneIndex);
});
}
menu.DropDown(rect);

View file

@ -2,6 +2,7 @@
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
using UnityEngine.SceneManagement;
@ -248,7 +249,9 @@ namespace Module.NavigationTool.Editor.Toolbar
{
Scene scene = SceneManager.GetSceneAt(i);
if (!scene.IsValid() || string.IsNullOrEmpty(scene.path))
if (!scene.IsValid() || !scene.isLoaded)
continue;
if (string.IsNullOrEmpty(scene.path))
continue;
int index = IndexOfPath(scenes, scene.path, false);