Common mistakes:
- using PlayerPrefs for huge save data;
- saving inside Assets;
- saving every frame;
- not checking
File.Exists;
- storing GameObject references;
- no versioning;
- no data validation;
- confusing ScriptableObjects with save files;
- ignoring file errors.
Prefer:
persistentDataPath
JSON/files
stable IDs
versioning
validation
reasonable autosave