Making simple games is hard. Making complex games is… well, you know - even harder. One person doing it all is pure labour.
But how would I save actors, their
components, the location of every
component and everything about the
actor and when you load the save how
would you spawn the actor with all of
the info efficiently?
The actors already have components when you spawn them. It’s a matter of configuring them in a specific way using variables. If they were dynamic, you already have the functionality to add them, so you’d use that. I feel I made it sound worse than it is.
You generally write 1 load / save function per class, inheritance helps a lot. The base class knows how to save shared variables, the children can call parent’s save functionality first, override with their own and spit out the result.
Never used a plugin for saving, can’t really recommend anything specific. I know this exists:
https://forums.unrealengine.com/unreal-engine/marketplace/1467088-plugin-savior-3
And this seems to be free, highly rated and up-to-date: