Is there an optimal/preferable way to select a level and load it?

Godot Version

v4.3.stable.arch_linux

How do I should manage the level selection?

Hello, well basically I want to make it so the player can select a level and then click to start, and then the scene would begin with the selected level and character. My question is which way is preferable to do this.

Previously, I had managed to switch to a new scene, but for some reason (I’m not experienced) I had issues managing the singletons. Basically, I couldn’t pass the player’s selection (saved in the game controller in the previous scene) to the controller I made in the level scenes. In the game controller scene, it was saved correctly, but when trying to read it later, it always returned (the default value of the selected character variable).
Now I’m starting to make the game in a single scene so the menu gets hidden and the level is shown, but before doing this, I wanted to ask if the previous method is better or the one I just mentioned. It’s a simple game, so there shouldn’t be too much of a problem either way.

If more details are needed, I’m here.