What is it?
Save Toolbox is a professional tool used for all your saving needs within unity. It can save data for objects already existing in the scene or spawn in any objects that were instantiated at runtime on a prior playthrough. This asset provides you with robust solutions for the saving inside your project at a reasonable price!
How does it work?
It is a Component and GameObject based saving system. This means if you want to save any data on a GameObject you will attach a pre-built separate save component that references it's respective component counterpart. When the game saves it will find all of these save components gather the data from them and store it into a file. When loading the data it will use a unique identifier to find which data matches to which component and load it into the component.
There is also a "LoadableObject" component that will be attached to any object that you wish to spawn at runtime from save data, e.g. a weapon you dropped previously in the map of an RPG game that you want to be loaded back in at the same position when you continue a playthrough.
❓Frequently Asked Questions❓
Do I need to be a programmer to implement Save Toolbox's functionality?
No, with a range of pre-built behaviours included and a behaviour that let's you save data from custom components, even without the ability to program you will be able to use the asset and implement it within your project. However, if you can program you may find it easier or more suited to your needs to use the available APIs in the tool rather than just the prebuilt behaviours.
I have custom scripts that I want to save data on, can it handle that?
Yes! You have 2 options when it comes to approaching this.The first and recomended option for non-programmers is to use the StbComponentSaver save component. This will be able to reference any other component and will provide you with a way to choose which data you want to save on the referenced component. The second option, you create your own custom component that inherits from AbstractSaveableMonoBehaviour and override the Serialize() and Deserialize() functions to pass through which data and how you want it to be saved.
Can I await the loading functionality?
Yes, both saving and loading can be asynchronous! This allows them to be awaited and also allows the user to be able to load and save the game whilst in a loading screen, providing information for how far through loading the user is.
Can I save references to other components?
Yes! As long as the other component implements ISaveDataEntity. Most basic scripts set up in the tool already implement this interface so will work out of the box. Any custom component will just need to implement the ISaveDataEntity interface for it to work.
Can I save references to scriptable objects?
Yes! You just need to make sure you reference them in the Scriptable Object Database.
Do you support multiple saves?
Yes, it is built on a save slot system that allows you to choose which slot the data will be saved to or no slot if you'd prefer (useful for data you want to persist between play sessions such as settings).
What file types are supported?
Currently Binary and JSON are supported.
Suitable Editors?
Works on Unity Editor 2019.3.1f1 and newer. 2021.3.0f+ recommended.
Does it support the Addressable package?
Yes! Just ensure it is imported in the project and select "use addressables" in the SaveToolboxPreferences scriptable object.
它是什么?
保存工具箱是一款专业工具,可满足您在 unity 中的所有保存需求。它可以保存场景中已有对象的数据,或在运行时生成任何在之前的游戏过程中实例化的对象。该资产以合理的价格为您的项目提供强大的保存解决方案!
它是如何工作的?
这是一个基于组件和游戏对象的保存系统。这意味着,如果您想保存游戏对象上的任何数据,您将附加一个预建的独立保存组件,该组件将引用相应的对应组件。游戏保存时,它会找到所有这些保存组件,从中收集数据并存储到文件中。加载数据时,它将使用唯一标识符查找与哪个组件匹配的数据,并将其加载到组件中。
还有一个 “可加载对象(LoadableObject)”组件,它将附加到任何希望在运行时从保存数据中生成的对象上,例如,您之前在 RPG 游戏地图中丢弃的武器,您希望在继续游戏时将其重新加载到相同的位置。
常见问题
我需要成为程序员才能实现保存工具箱的功能吗?
不需要,由于包含了一系列预建行为和一种可让您从自定义组件中保存数据的行为,即使不会编程,您也能使用该资产并在您的项目中实现它。不过,如果你会编程,你可能会发现它更容易或更适合你
|