How to save complete save state?

Actually, doing something like that is not easy in the slightest. UE4 built in save system lets you save a “SaveObject” into a binary file and also load it. BUT ONLY THAT OBJECT. You would need to find a way to store the world state into one of those, so then you can serialize it. To do something like that, for example for NPCs, you would add an array to the save object, iterate over all the game npcs, and save the relevant data(position, health, inventory) for each of those. Then do similar for quest info and for player info.
For loading, you iterate through your “npc data” array, and start spawning npcs from that.

Big RPGs are some of the hardest games for save systems, due to the amount of stuff that needs to be stored.