Save Game with custom blueprints/classes

Right now, I’m trying to save a game. I can create a save game with built-in values such as int, float, string, etc. How do I save/load the data of a custom object/blueprint?

For instance, I have a character with health, maxHealth, Exp, etc, all stored in a custom object called PlayerCharacterInfo. I stuff an array of those into a blueprint inherited from Save Game. If I save and load in the same game (without closing it in editor) then the save/load works perfectly. However, if I save, then close the game, then load that save game, everything is value of None. I believe it’s saving a reference to the object in the world instead of the data within it. How can I save the data itself, instead of just a reference to it?

use a struct instead of an object. then you can save that struct. object references wont save properly because the pointers are only meaningful during runtime, so fill the struct with basic types, like bytes or ints.

Is it possible to make a struct in blueprints, or would I need to hop into C++?

Never mind, found it. TY for the help!

Okay, I see how to make structs in the editor, but is there a way to make structs inherit from other structs, or would I need to do C++ code for that?

Not necessary, just would be convenient.