Okay, as I said in previous posts, I'm really new to Godot, so please don't judge me too harshly for not getting this. I'm playing around with my little "Sleeping Beauty" game idea and have been experimenting with my game mechanics in a little trial level. So far so good. Now I want to set up the overall architecture of my game, so that in the long run I can have a little intro sequence (which can be skipped) and then land on a kind of home/start screen from which to start the actual game on level1 or, later, on the level where the player left off. And then, when a level is successfully finished, I want to move to the next level or back to the start screen and so on. At the moment, my level is just a scene and I use it as start scene. But how do I jump from one scene to the next in a structured way and take over things like my inventory, health etc. Do you understand what I'm asking? How do you structure a game in the Godot node hierarchy without breaking everything when the level/scene ends?
Not sure how to structure/organize things
Store persistent data in an autoload. Don't even copy it on entering/exiting a level. If the data is more complex create a RefCounted based class that can be referenced from within the respective level.
If the level sequence is really simple, you can just load the next level once a level is finished. If it is more complicated write a suitable enter_next_level function in an autoload.
I am not sure I understood, but if I got it correctly, you have the same problem I got with godot some while back, where you dont have a way to change a scene passing a parameter : https://godot.community/topic/63/set-start-parameter-to-packedscene/7
The current solution that everybody uses is like zini says, use globals... I really hate using globals for that, but there is another way, that is changing the way godot works and work with your game using this new way of thinking :
1) Create an empty main root scene, that will be allways active, then extend it so you can uses this on everything. In this scene you have a changeMainSceneWithData function that accepts a parameter, and use this parameter to send info about stuff you want to send to the new scene, like player data etc.
You could also use a finite state machine as I did here. In this case, every (literary) scene is a state, and all the nodes that make up the game are children of one of the states. You can stack a scene on top of a previous one by adding it as a child, or just switch between them.