[PLUGIN] Savior

Okay so I have a new problem which Is probably me misunderstanding things but here it is.
I have a TMap<ENUM, TSubclassof> in my pawn which I add classes to that are all derived from a base class.
So in my Pawn BP the TMap looks as follow:
TYPE_1 - DERIVED_CLASS_1
TYPE_2 - DERIVED_CLASS_2
etc.

Now during runtime I have an UI with buttons that has all the TYPES on them and when I click one of them I do Pawn->SpawnNewClass(TYPE)
In the SpawnNewClass function I get the actual class from the TMap with the TYPE as key.
Now the first time I spawn TYPE_1 or TYPE_2 they get a nice SGUID and then when I spawn the same TYPE again it gets a new SGUID but every single one after that has the same SGUID as the 2nd one.
So when I save the game world it has multiple actors with the same SGUID.
Now I tried to fix this by changing the SGUID after spawn by call MakeActorGUID again. But that doesn’t seem to work they still all have the same SGUID.
Can you tell me how to fix this? (I hope my explanation was clear enough)