As you wish. I think it’s ok - if your game has a lot of levels and each level is different scene - you will load scene every time when you’ll start new level.
But if you don’t want to reload scene and don’t want forget reset something, I reccoment you to define special class to store gamestates and recreate it instead of reload scene. See snippet bellow:
public class MyGame : MonoBehaviout
{
private GameState _state = new GameState();
void OnGUI()
{
GUI.Label(new Rect(3,3,100,100), _state.Score));
}
void ResetGame()
{
_state = new GameState();
}
}
public class GameState
{
public int Score {get;set;}
}