Easiest way to implement "Snapshot" SaveGame?

Hi guys. I want to implement a similar SaveGame similar to the old Tomb Raider Games:
The SaveGame saves everything:
Current Position and Animation of Objects
Current Position and Animation of the Player

In TRIV even more is saved:
In TRIV you have a multiple levels you can access (If you played: Coastal Ruins has access to Cleopatra’s Palaces and Catacombs for example).
and their state is also saved.

I’d like to have snapshot of the current Game, too.

What is the easiest way to implement this?
Is it possible to save the GameInstance?