-
Notifications
You must be signed in to change notification settings - Fork 0
Home
A plugin for Godot adding a simple, convenient, and secure save data system
This plugin was created to avoid the issues with the usual JSON or Resource saving methods used by Godot developers. Working with JSON can prove clunky and waste a lot of development time on bugs and annoying copy-paste work, and using Resources has a major security vulnerability allowing arbitrary code execution.
A slot is a specific instance of someone's save game. This typically includes info like health, room, coordinates, and other info you want to store about someone's play-through.
Common is info shared between all save files. This often includes stuff like config, accessibility, and other settings you want to store separate from each slot.
All data on your end is written as a GDScript file. This allows you to include variables, constants, functions, and more when building out your saves. When being written to disk, this data is converted into a JSON file and encrypted. This way there is no avenue for malicious code to be included in your save file, unlike the commonly used "Resource" method of saving. When a save file is loaded, this encrypted JSON is read and converted back into the original format so you can easily read from it like any other variable.
This is not as performant as manually writing out JSON saves or writing an entire resource to disk, but it is still very fast! The small reduction in performance is well worth it, considering you get smaller files, improved security, and a lot of convenience on your end as the developer.
To learn more about the tool, hop on down into these other pages!