I don’t know the correct answer, but things that seem wrong to me are:
-
Casting after Create Save Game Object: you already create an object of the type you need. Casting here is unnecessary;
-
You’re saving the Game Save Object to a variable after loading, not after Casting. IDK if they conflict with each other in any way, but to me it seems that when you Create Save Game Object, you save your SpyRun_Save type into a variable, but when you load game, you save a generic Save Game Object into the same variable.
For the debugging purposes, try making the same without the variable – just connect everything you need to your Create Save Game Object and Cast to SpyRun_Save nodes.