1 No difference to normal packaging
2 This is not a separate level, it would probably be a view target
3 It’s totally up to you to manage how and when the player appears in the game. There is not fixed way of doing it. Yes, you can save the player location and progress in the save game, but acting on that really depends what sort of level structure you’re using. It’s totally possible to have a multi level game just using ‘open level’, but streaming will give the player a more seamless experience.
4 There is a ‘save game flag’ in objects that can be set, and then used later
But most people just code the actors to save their progress and load it again later. With NPCs etc, they just have to save the fact the player has talked to them, and load it again next time the game runs.
There are a lot of ways of using streaming, but the main ones are
1 Streaming volumes
2 Blueprints
3 Using level instances - specifically here I mean the nodes ‘load streaming level by name ( or reference )’