Creating an additive scene and adding it, does not load objects into proper states. It seems that removing a scene serializes its data as intended, but adding a scene fails to load the data. It seems that its because: LevelStorage.cs -> SendDataToScene() loop has a check:
if (saveObject != null && UnityVersionHandler.ObjectIsInActiveScene (saveObject.gameObject))
The culprit is the second condition. Since all additive scene objects are not in active scene, they get skipped. I feel like the behavior should be consistent. Either removing scene saves nothing and adding scene loads nothing or removing saves and adding loads. Or, you check/uncheck a checkbox for desired behavior in both scene add and scene remove.
Version: 1.64.1
Edit:
Replacing the second conditional with:
saveObject.gameObject.scene.buildIndex == levelData.sceneNumber)
should fix the issue and still avoid undesired overwrites in wrong subscenes
Comments