{"repo":"chickensoft-games/SaveFileBuilder","free":true,"listed":false,"github":"https://github.com/chickensoft-games/SaveFileBuilder","clone":"git clone https://github.com/chickensoft-games/SaveFileBuilder.git","description":"Compose chunks of save data into a single data type by creating loosely coupled save chunks at various points in the scene tree.","language":"C#","stars":30,"topics":["chickensoft","csharp","godot","save","serialization"],"license":"MIT","category":"game-templates","readme_excerpt":"👽 SaveFileBuilder [![Chickensoft Badge][chickensoft-badge]][chickensoft-website] [![Discord][discord-badge]][discord] [![Read the docs][read-the-docs-badge]][docs] ![line coverage][line-coverage] ![branch coverage][branch-coverage] Easily define your own save file with custom serialization formats, compression algorithms, and IO providers by implementing the relevant interfaces. Out-of-the-box support for saving to a file using json and gzip. 🥚 Installation Find the latest version of [ Chickensoft.SaveFileBuilder ][nuget] on nuget. :hatching chick: Quick Start [!TIP] You can define easily serializable types with [Chickensoft.Serialization]. :cookie: Saveable & Modularity Saveables define how an object saves and loads itself. They are a minimal interface that only requires you to implement Save and Load methods. This allows you to keep your save logic close to the relevant data and behavior, and easily compose them together. To compose saveables, simply call Save and Load down the stack of saveables to fully populate your root data object. [!NOTE] SaveFileBuilder does not help you reference your saveables. How you reference a saveable is up to you: it could be owned, be provided through a constructor, be available through a static instance or be injected using dependency injection. :floppy disk: SaveFile & Flexibility [!TIP] If you just want to save some data to a file, call the following: SaveFile.CreateGZipJsonFile(\"savefile.json.gz\"); Saving a file involves 2 to 3 steps: ","default_branch":null,"files":null,"tree":[],"storefront":"/r/chickensoft-games","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/chickensoft-games/SaveFileBuilder/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}