UI text not updating

I know, so many of people have asked this question. I have gone to all of those posts, and none of the solutions have solved my problem. i am creating a level progress bar , here in this script i am trying to update text (levelNumber) and add +1 to levelNumber every time level is completed, here i am using playerprefs to save levelNumber so data can passes through next levels(scenes). but problem is levelNumber not even updating in Text field , as per script Text_1 should start from 0 and Text_2 from 1 when game starts its showing values which i have given in inspector 1 and 2. to confirm that i have changed values in inspector to 21 and 30 again when game starts its showing 21 and 30. that means UI Text not updating from script.

public class PrograssBar : MonoBehaviour
{
    [SerializeField] private Text Text_1;
    [SerializeField] private Text Text_2;
    private int levelNumber = 0;
    [SerializeField] Transform startTransform;
    Transform finishTransform;
    [SerializeField] Slider slider;

    float maxDistance;


    void OnEnable()
    {
        levelNumber = 0;
    }

    void Start()
    {
        finishTransform = GameObject.FindGameObjectWithTag("CloneGoal").GetComponent<Transform>();
        maxDistance = getDistance();
        levelNumber = PlayerPrefs.GetInt("LevelNumber");

    }


    void Update()
    {
        if (startTransform.position.z <= maxDistance)
        {
            float distance = 1 - (getDistance() / maxDistance);
            setProgress(distance);
        }

    }

    float getDistance()
    {
        
        return Vector3.Distance(startTransform.position, (finishTransform.position - new Vector3(0, 0, 22)));
    }


    void setProgress(float p)
    {
        slider.value = p;
    }

    private void LevelUp()
    {
        UpdateLevel(levelNumber + 1);
        PlayerPrefs.SetInt("LevelNumber", levelNumber);
    }

    private void UpdateLevel(int levelNumber)
    {
        this.levelNumber = levelNumber;
        Text_1.text = " " +this.levelNumber.ToString();
        Text_2.text = " " +(this.levelNumber + 1).ToString();
    }
    

}

ok in line 52 you haven’t correctly set the player prefs you just need to do + 1

PlayerPrefs.SetInt("LevelNumber" , levelNumber + 1) // i.e current level + 1;

that’s it.