Livestream for complex Savegames

I would like to request a Training Livestream for SaveGames.

The documentation does not really help with SaveGames, especially for Blueprints.
It only covers saving primitive, **static **variables, such as the Player’s Score or Name (where the place of these variables is predefined)

What I request is saving dynamic content.
Such as spawned enemies:
Enemies are not spawned when loading a new level, how to handle that?
What about Projectiles and other stuff that is generated at runtime?

How to get access to the Level Blueprint and saving it’s state?
I have Button_BP which uses an Event Dispatcher so I can use it in my Level Blueprint to easily manipulate things.
But I can’t access anything from the Level Blueprint, thus saving things that happen here is impossible (at least in Blueprints)
Water that is risen at runtime should be risen at loading time.
Buttons that are pressed should be pressed at loading time etc.

How to manage different actors that need to be saved?
A Character needs to be saved as it is. With Animation, Transform and the subClass Variables.
Do I need to create a SaveStruct for every Actor?

Do you know Java?
It has a really easy Serializable Interface. You can easily serialize Objects with their references with ObjectOutputStream.writeObject(Object o);
and you can easily read them by ObjectInputStream.readObject();
Does something like this exist in UE?