Неправильно работает открытие уровней unity

Когда игрок доходит до финиша, должен открыться 1 следующей уровень, а открывается сразу 2 следующих уровня.

Код при победе:

int currentLevel = SceneManager.GetActiveScene().buildIndex;
if (currentLevel >= PlayerPrefs.GetInt("levels"))
{
PlayerPrefs.SetInt("levels", currentLevel + 1);
}

Код для открытия следующего уровня:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class LevelManager : MonoBehaviour
{
    int levelUnLock;
    public Button[] buttons;

    void Start()
    {
        levelUnLock = PlayerPrefs.GetInt("levels", 1);

        for (int i = 0; i < buttons.Length; i++)
        {
            buttons[i].interactable = false;
        }

        for (int i = 0; i <levelUnLock; i++)
        {
            buttons[i].interactable = true;
        }
    }

    public void loadLevel(int levelIndex)
    {
        SceneManager.LoadScene(levelIndex);
    }
}

Ответы (1 шт):

Автор решения: SoulOFTrue

Оформлю ответом предположение.

Вот это:

    for (int i = 0; i <levelUnLock; i++)
    {
        buttons[i].interactable = true;
    }

Попробуйте заменить на это:

    for (int i = 0; i <levelUnLock-1; i++)
    {
        buttons[i].interactable = true;
    }

Это некрасивое решение, исключительно для того, чтобы проверить предположение

→ Ссылка