bad news, it doesn't work (sometimes).
fe the one I sent you earlier works, but when I play around with values it doesn't. I think it might have something to do with the settings key in the dictionary.
save file from godot 3:
{character:c1, charactersbought:{c1:False, c2:True, c3:False, c4:False, c5:False, c6:False, c7:False, c8:False}, cinemalvls:[1, 1, 1], coins:1, currentfolder:levels, currenthat:empty, currentlevel:level1, eventmoney:[0, 0, 0], firstversion:[[0.1.1., alfa], True], hateq:empty, hatsbought:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], jumpspeed:[1, 1], keylist:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], keys:0, maxair:[10], maxhealth:[3], screensize: (1, 1), settings:[-26, -30, True, 7, 0.65, True, 1.2, 0.45, right], sword:wooden, tutorial:1, username:Name, version:[0.1.1., alfa], vidcoins:0}
save file imported to godot 4:
decoded: { "version": ["0.1.1.", "alfa"], "cinemalvls": [1, 1, 1], "hatsbought": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "charactersbought": { "c1": true, "c2": false, "c3": false, "c4": false, "c5": false, "c6": false, "c7": false, "c8": false }, "coins": 1, "vidcoins": 0, "keys": 0, "keylist": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], "settings": [-26, -30, true, 7, <null>, <null>, <null>, true, <null>], <null>: "right", "currentlevel": "level1", "currentfolder": "levels", "firstversion": [["0.1.1.", "alfa"], true], "jumpspeed": [1, 1], "screensize": (1, 1), "currenthat": "empty", "character": "c1", "hateq": "empty", "sword": "wooden", "maxhealth": [3], "maxair": [10] }
also notice how some keys just disappear like the username key...