Как сделать сохранения рекорда пройденых сцен в Unity?

Для сохранения пройденных сцен в Unity можно воспользоваться различными способами, но одним из наиболее распространенных является использование PlayerPrefs. Вот пример того, как можно сохранять пройденные сцены с помощью PlayerPrefs:

1. Создайте скрипт для управления сохранением данных. Например, назовем его SaveManager.cs.

2. В скрипте SaveManager.cs создайте метод для сохранения номера пройденной сцены:

using UnityEngine;

public class SaveManager : MonoBehaviour
{
    public void SaveSceneIndex(int sceneIndex)
    {
        PlayerPrefs.SetInt("LastPassedScene", sceneIndex);
        PlayerPrefs.Save();
    }

    public int LoadLastPassedScene()
    {
        if (PlayerPrefs.HasKey("LastPassedScene"))
        {
            return PlayerPrefs.GetInt("LastPassedScene");
        }
        return 0; // Возвращаем 0, если информация о последней пройденной сцене отсутствует
    }
}

3. Присоедините скрипт SaveManager.cs к какому-либо объекту в сцене Unity.

4. В вашем коде уровня или менеджера уровней вызовите метод SaveSceneIndex() при завершении уровня:

public class LevelManager : MonoBehaviour
{
    public SaveManager saveManager;

    private void LevelCompleted()
    {
        int currentSceneIndex = SceneManager.GetActiveScene().buildIndex;
        saveManager.SaveSceneIndex(currentSceneIndex);
    }
}

5. Для того чтобы при загрузке игры загружалась последняя пройденная сцена, добавьте следующий код:

void Start()
{
    int lastPassedScene = saveManager.LoadLastPassedScene();
    SceneManager.LoadScene(lastPassedScene);
}

Теперь при прохождении уровня будет сохраняться его номер, и при следующем запуске игры будет загружаться последняя пройденная сцена. Это лишь один из возможных способов реализации сохранения пройденных сцен в Unity, и его можно доработать и расширить в зависимости от потребностей вашего проекта.