Saving States of Complex Data

I’ve been following this tutorial : A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums

and I have managed to go through and successfully save and load smaller objects, such as FVectors and uints.

However, suppose I have a very large game, with hundreds of AActors and UObjects, and I want to store the states of all of those into binary, and then reload it afterwards.

How then, would I go about doing that? It won’t be really realistic for me to go into every single component of the hundreds of AActors and UObjects and save them all individually right? Is there a better and more efficient way of converting large objects into binary ?

As an example, to convert a primitive to a binary:

    FArchive &Ar; 
    FVector Vector;
    Ar << Vector;

However, this is what I want:

  FArchive &Ar; 
    AActor* Actor
    Ar << Actor;

And I want something that can do that for all subclasses of AActor, and UObject, mainly my own custom classes

Of course by overloading the << operator, I can go into AActor* Actor, and choose which components of Actor I want to convert to binary, that is one solution, but is that what is the best way to do it?

My answer in What is the best way to handle Saving/Loading an Array of Objects? - Programming & Scripting - Epic Developer Community Forums might be useful, it’s the method we’re using on Fortnite