The way i'm saving games is basically using the player prefs to store things which are translated into variables that it understands and also with a set number of save states (since it's not that easy to program playmaker to do things with dynamics like that... i'm sure it's do-able but it's a little out of my depth.)
So, save state will take information strucutured like this.
-character save slot (int)
-player name (string)
-character class ID (int)
-weapon 1-6 upgrade states (so, each weapon has it's own int variables for all three upgrade paths... easier to type this out than listing all permutations for each weapon)
-last level completed (int)
i'm sure there are more than i'm missing but so far PM is pretty handy at interfacing with the player prefs such that making a save system for the game i'm making isn't actually that tough. though, for other game types this might not be the best option since you might want to save a vector3 for the last position the player was on and in that, without referencing Unity, i'd think that you'd have to extract the XYZ coordinates, turn them into floats and then store each float separately.