Game design and data management
Godot: Saving Games
By Godot contributors
A Godot save/load foundation with JSON and scene-reconstruction caveats.

Use it for: A prototype checkpoint that restores position, health and object state.
Start: 1) Select persistent fields. 2) Add objects to Persist and return a dictionary from save(). 3) Follow FileAccess/JSON serialization and reconstruction.

Try checking: Save, close and reopen the game; then test missing or incomplete data in a project copy.
Limits: JSON needs converted values for Vector2. The example does not automatically support nested Persist objects. Production saves still need validation, versioning and corruption recovery.
Source: Official guide