Casting to save game fails every time

First off, let me explain what I am trying to do. I have created a widget bp that plays a tutorial on how to play my game. I only want this to play the first time the user plays the game. So, I set up a boolean variable in my game instance (where I store all of my global variables) that is set to true at the start. This variable checks whether or not the player has played the tutorial already or not. So, game starts, title screen pops up, if the variable is still true, the user is prompted whether or not they would like to run through the tutorial. If they say yes, the tutorial widget then plays. If no, they move into the regular game. Now, if they decide to play through the tutorial, I have the variable being set to false after they complete it. Then, I want to save that variable’s status so the next time they play through the game, they will not be prompted to try the tutorial.

Above is the flow for saving the variable’s status. However, every time I run through it to test it is working, it returns that it is not. This entire section is attached to a button press. (Complete tutorial>Sequence 1>Untick variable>Sequence 2>Save Status.

How do I get this working?

Try adding an IsValid over the Save Game Object just before the Cast.

If it is valid, can you verify that it actually is a KTC Save?

Both returned as vailid

I also tried moving the save portion to the end of the tutorial section, rather than link it to the button press. Still does not cast.