diff --git a/Assets/SO Architecture/Variables/SceneVariable.cs b/Assets/SO Architecture/Variables/SceneVariable.cs index 135727fc..1eeee4f3 100644 --- a/Assets/SO Architecture/Variables/SceneVariable.cs +++ b/Assets/SO Architecture/Variables/SceneVariable.cs @@ -111,14 +111,21 @@ public void OnBeforeSerialize() var scenes = UnityEditor.EditorBuildSettings.scenes; SceneIndex = -1; + int enabledSceneIndex = 0;//scenes are only given a build index if enabled. for (var i = 0; i < scenes.Length; i++) { + bool sceneIsEnabled = scenes[i].enabled; if (scenes[i].guid.ToString() == sceneAssetGUID) { - SceneIndex = i; - IsSceneEnabled = scenes[i].enabled; + if(sceneIsEnabled) + SceneIndex = enabledSceneIndex++; + IsSceneEnabled = sceneIsEnabled; break; } + else if (sceneIsEnabled) + { + ++enabledSceneIndex; + } } } #endif