Hi Mia,
There is a bug in the current solution. You could test this fix:
public class ScenePersist : MonoBehaviour
{
static ScenePersist instance = null;
int startingSceneIndex;
void Start()
{
if (!instance)
{
instance = this;
SceneManager.sceneLoaded += OnSceneLoaded;
startingSceneIndex = SceneManager.GetActiveScene().buildIndex;
DontDestroyOnLoad(gameObject);
}
else if (instance != this)
{
Destroy(gameObject);
}
}
void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
if (startingSceneIndex != SceneManager.GetActiveScene().buildIndex)
{
instance = null;
SceneManager.sceneLoaded -= OnSceneLoaded;
Destroy(gameObject);
}
}
}
Did this work for you?
See also:
- Forum User Guides : How to mark a topic as solved