Part of engineering is refactoring. If the code wasn’t made to do something, you have to change that.
That applies to saving, loading, first person, multiplayer, whatever.
I’m going to guess you actually don’t need to save “everything.” As Praetor notes above that is just the lazy way and irritates the user with massive files.
Instead, make an engineering decision about what to save, and as you develop the system, do so iteratively.
Load/Save steps:
Don’t use the binary formatter/serializer: it is insecure, it cannot be made secure, and it makes debugging very difficult, plus it actually will NOT prevent people from modifying your save data on their computers.