Core Systems Quest

Save & Load Guide

Separate durable save data from live nodes, scene paths, and temporary runtime state.

10-20 min Practice first Godot 4.6

Why Every Game Needs a Save System

Save systems preserve player progress, settings, and game state. Without them, players lose everything when they close your game.

Unity Comparison

In Unity, you might use PlayerPrefs for simple data or serialize to JSON/binary files. Godot uses FileAccess class for all file operations - it's more direct and powerful.

What to Save

  • Player position, health, inventory
  • Game progress (levels, quests)
  • World state (opened chests, killed enemies)
  • Settings (volume, keybinds)
  • Statistics (playtime, deaths)

Where Saves Go

  • user:// - User's app data folder
  • Windows: %APPDATA%\Godot\app_userdata\
  • macOS: ~/Library/Application Support/
  • Linux: ~/.local/share/godot/
Best Practice

Always use user:// for save files, never res://. The res:// path is read-only in exported games and points to your project folder during development.

Tutor Checkpoint

Lock the pattern in

Before jumping to the next page, turn the idea into one tiny scene or script. That is where the Godot habit sticks.

Unity habit

PlayerPrefs is not a full save architecture.

Unreal habit

SaveGame-style data still needs stable IDs and migration habits.

Godot habit

Use user://, plain dictionaries or Resources, and validate loaded data.

Try this

Add a save_version field before the save file grows.