kuligs2 ...
Thanks for that. Close, but 'no cigar' as yet. Here's my Save' and 'Load' snippets with the relevant code (there is more elsewhere, but the 'non-working' stuff is here...) ...
func _process(_delta):
if Input.is_action_just_pressed("Keep (Save...)") :
GlobalVariables.gv_mess = "Keep (Save...)"
#GlobalVariables.gv_play_posi_save = GlobalVariables.gv_play_posi
GlobalVariables.gv_play_posi_save = transform
lv_life_left = GlobalVariables.gv_play_life
GlobalFunctions.save_game()
#
if Input.is_action_just_pressed("Load") :
GlobalVariables.gv_mess = "Load"
GlobalFunctions.load_game()
transform = GlobalVariables.gv_play_posi_save
'Save' does, indeed, save the complete Transform to disk, in the correct spot. When I 'load', however, I get the following complaint from Godot...
E 0:00:16:460 Player.process: Error setting property 'transform' with value of type Vector3.
<GDScript Source>Player.gd:61 @ Player.process()
<Stack Trace> Player.gd:61 @ _process()
... on the last line ...
transform = GlobalVariables.gv_play_posi_save
Why would this be, please..?
EDIT : I think that the penny has dropped. I had neglected to look at all of your script, ignoring the very important 'var' definition as a 'Transform3D'..! Once I included this in my global variable declaration, all fell into place. Here, then, is your richly-deserved cigar...

... with my thanks. :-)