Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

Data Kit – The Reimagined Data Serialization System For Unity

Discussion in 'Assets and Asset Store' started by melgeorgiou, Jun 15, 2019.

  1. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    591
    Hi everyone,

    I'd like to introduce DataKit, a reimagined new approach to saving and loading your game’s data - soon to be released on the Asset Store!

    large_image_template website_PNG.png

    About DataKit v2.0

    Almost every game has data that needs to be saved and loaded. But let’s face it, working with data is often very abstract, difficult to visualise and down right tedious to debug. How about serialising different data types? That’s a whole other set of problems!

    DataKit is a unique cross-platform data serialization system to automatically handle most aspects of saving and loading your game’s data. Features include local and global data, save slots, save points, data groups, obfuscation, encryption and even automatic screenshots. Another great DataKit feature is the intuitive visual debugger, allowing you to view, edit, delete and restore your serialized data in real-time while testing your games in the Editor! DataKit is a powerful core asset that any game project could benefit from!

    Offering unique and intuitive visual editors, you can easily setup and debug the data you’d like to save. DataKit offers “Global Data” for storing things like graphics settings or In-App Purchases and “Local Data” for setting up what is saved in each save point. All of your data keys are organized into groups for better management and fast performance.

    Along with options to save your data to local files or directly into PlayerPrefs, you can also choose how many save slots and save points you’d like DataKit to manage for you. Save slots allow you to implement multiple characters or accounts. Save points are essentially snapshots of local data, allowing a user to load the state of the game at a previous point in time. DataKit can also manage deleting the oldest save points to keep within a maximum limit.

    Unlike systems such as PlayerPrefs which only support saving integers, floats and strings; DataKit allows you to serialize most common data types, even when using arrays and custom classes (see ‘Compatible Types’ in the documentation PDF for a full list). DataKit also offers a variety of ways to serialize references. As well as saving many reference types by value, the optional Reference Database system allows you to directly reference specific assets located in the Resources folder.

    DataKit also features some powerful obfuscation options! You can deter cheating by obfuscating your data with 128-bit AES Encryption or with the faster but less secure XOR algorithm. If you don’t need encryption, DataKit can literally strip it out of its own codebase using a simple platform define in Unity’ Player Settings.

    In short, DataKit is a powerhouse of a plugin that will give you new and intuitive ways to save, load and debug your game’s data!

    Features
    • Visually Setup & Debug Your Game’s Data!
    • Automatically Handle All File I/O!
    • Local & Global Data!
    • Data Groups & Keys!
    • Save Slots & Save Points!
    • Serialize Common Value & Reference Types!
    • Optional XOR Obfuscation!
    • Optional AES Encryption!
    • Optional Reference Database System!
    • Automatically Capture Screenshots!
    • Preload Data In Editor For Fast Testing!
    • Event Driven API!
    • Comes with 8 Fully Commented Example scenes!
    • Documentation PDF and High quality video tutorials!
    • Full source, No DLLs!
    • Fast and friendly email support!
    • Compatible with Unity 2018.x to 2019.x!

    Introduction Video

    Find out more about DataKit in this overview video:




    Promo Images

    Find out more about DataKit in these images:

    DataKit - Promo 01 - A New Approach To Saving Your Games.png DataKit - Promo 02 - Visually Create Data.png DataKit - Promo 03 - Easily Debug Your Data.png DataKit - Promo 04 - Save Points And Save Slots.png


    Tutorial Videos:


    Follow these tutorials to become a Data Kit pro! :)

    > DataKit Overview Video
    > Tutorial 1 - Setting And Debugging Data
    > Tutorial 2 - Reference Database
    > Tutorial 3 - Scripting With DataKit


    Documentation

    Take a look at the Data Kit manual here:

    > Documentation (PDF)


    WebGL Demo:

    Check out this WebGL demo to view the fully commented example scenes that come with DataKit:

    > DataKit Tech Demo (WebGL)


    Where To Get DataKit

    DataKit can be purchased from the Asset Store or my own site!

    Get DataKit From the Asset Store:
    Data Kit - The Reimagined Data Serialization System For Unity

    DataKit is also available on my site too which can be found here: http://www.unitygamesdevelopment.co...imagined-data-serialization-system-for-unity/



    Thanks for your interest! If you have any questions, feel free to ask! :)

    - Mel
     
    Last edited: Oct 1, 2019
  2. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,036
    @melgeorgiou , hi, really interested in this asset - but what I really need is something which also saves scene gameobjects with their components and and component fields/properties values - which can change in runtime?
     
  3. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    591
    Hi @Duffer123,

    Firstly, thanks for your interest in DataKit! :)

    This is something I'll be looking into as DataKit moves forward, although to be honest it isn't the most efficient way of saving your games because there is usually a lot of redundant data that is saved along with it. All of this has an impact on performance and disk space. However, I know that some people prefer convenience over efficiency so I will be looking more closely at that as DataKit evolves! :)

    In the meantime, DataKit has some pretty cool example scenes that show how to save objects (even instantiated ones) in your scene using a more efficient approach!

    Hope this helps! :)

    - Mel
     
    Duffer123 likes this.
  4. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,036
  5. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    591
  6. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    591
    DATA KIT v1.0 IS NOW LIVE ON THE ASSET STORE!

    DataKit v1.0 is now LIVE on the Asset Store!

    IMPORTANT: Please remember to backup your projects before installing! :)

    - Mel
     
    Duffer123 likes this.
  7. Onevisiongames

    Onevisiongames

    Joined:
    Aug 3, 2016
    Posts:
    8
    Looks very good so far!

    Any plans for integrations/compability for projects that are developed for PC but also ported to consoles? (Xbox One, PS4, Nintendo Switch)
     
  8. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    591
    Hi @Onevisiongames!

    Firstly, thanks for your interest in DataKit! :)

    As far as I know, DataKit *should* work on consoles ( although in honesty, I haven't been able to verify as I don't personally develop projects on those platforms ). I've tested on iOS, Android, Windows, Mac and WebGL so far.

    BTW: There is also a PlayerPrefs storage mode in DataKit. This is what DataKit uses for WebGL in order to circumvent saving to local files (which is forbidden on the platform). Instead, it uses PlayerPrefs as an intermediary without losing any DataKit functionality ( other than Unity's 1MB PlayerPrefs limit ). This should theoretically allow you to save data even if there was an issue that I'm not aware of.

    ... So yeah, I don't see why it wouldn't work but probably best to test early on to make sure!

    Hope this helps! :)

    - Mel
     
    Last edited: Jun 23, 2019
  9. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    591
    DATA KIT v1.0.1 IS NOW LIVE!

    Hi everyone!

    DataKit v1.0.1 is now LIVE on my site: here
    I'll let everyone know when DataKit v1.0.1 is approved by the Asset Store! :)

    ALWAYS BACKUP YOUR PROJECTS BEFORE UPDATING!

    IMPORTANT:
    When you open the package to install the update, make sure to DESELECT the 'DataKit Setup' and 'DataKit References' assets from the list. If you don't do this they will be overwritten with the default versions!


    WHAT'S NEW:

    This is an important maintenance update:

    - DataKit now handles corrupted data files when building save point maps.
    - Fixed potential memory leak when updating save point maps ( Texture2D Screenshots )
    - Fixed a memory leak in the mini Notifications UI in the demo scenes.
    - Fixed bug with Vector4's not saving the W value correctly.



    WHAT'S NEXT FOR DATAKIT?

    DataKit V2 has been in the works for several months and is almost ready! For now, I'll just say that it is a GARGANTUAN update that introduces some really cool and unique features. It will also be a FREE update to everyone who has purchased DataKit v1.x. I'll be releasing more details about the cool new features very soon! :)

    - Mel
     
    Last edited: Aug 26, 2019
  10. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    591
    DATA KIT v1.0.1 IS NOW LIVE ON THE ASSET STORE!

    DataKit v1.0.1 is now LIVE on the Asset Store!

    ALWAYS BACKUP YOUR PROJECTS BEFORE UPDATING FROM A PREVIOUS VERSION!

    IMPORTANT:
    When you open the package to install the update, make sure to DESELECT the 'DataKit Setup' and 'DataKit References' assets in the list. If you don't do this they will be overwritten with the default versions,

    Thanks! :)

    - Mel
     
  11. lynnetelfermc

    lynnetelfermc

    Joined:
    Jun 10, 2017
    Posts:
    1
    LOVE this! How do I customise the start screen? For example, Datakit StartupScreen scene? I can change the Full screen panel with the text and images I cannot find where the first splash screen is run or stored.
     
  12. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    591
    Hi @lynnetelfermc

    Firstly, thanks for purchasing DataKit! :)

    If you can send me a PM with your invoice ID I'll be happy to help!

    - Mel
     
  13. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    591
    DATA KIT v2.0 IS NOW LIVE!

    Hi everyone!

    DataKit v2.0 is now LIVE on my site: here

    ALWAYS BACKUP YOUR PROJECTS BEFORE UPDATING!

    IMPORTANT WARNINGS FIRST:


    There is a big change in DataKit v2.0 which means that older save game data from DataKit v1.x can no longer be loaded. If your game has already been released, do not upgrade your version of DataKit for that project. Otherwise, please back it up and follow the upgrade guide found in the new documentation here.

    Now that's out of the way, let's check out what's new! :)

    WHAT'S NEW:

    Here's an overview of the new update:

    - Implemented "External Assets". Users can now save assets into their own external files to keep DataKit's core save data lightweight and blazingly fast!
    - Reference Database V2: allows sub-assets (children), automatic updates when creating builds, optional initialization modes and support for Transforms (via GameObjects).
    - New multi-threading for loading, saving and deleting external files.
    - inspector types: byte, short, decimal, AnimationCurve, Gradient, Shader and Transform.
    - New updated serializable types now use constants to cache keys resulting in much better performance!
    - Save / Load Global Data independently in the Editor.
    - Debugging options for threads and external assets.
    - DataKit.IsReferenceDatabaseReady() API method to check whether the Reference Database is ready.

    Let's zero in on some of the bigger features:

    EXTERNAL ASSETS

    External assets allow you to save an asset to a data key (similar to the existing SetLocalAsset method) but have DataKit automatically link the key to an external file in your save point folder. No filepaths are needed, DataKit automatically handles everything and allows you to keep your core save game data small and blazingly fast! :)

    Note that External Assets are not compatible with WebGL builds so be sure to use them only if you're not going to need that platform.

    REFERENCE DATABASE V2

    The Reference Database has had a massive revamp which now allows it to not only track references in your Resources folders, but also specific child objects inside of those resources (the lack of child support was the biggest limitation in the previous version).

    ReferenceDatabaseV2.png

    There is also a much faster instantiation routine, with options to use the older method if preferred.

    NEW TYPES

    There are loads of new types that are available for real-time debugging in the Editor including byte, short, decimal, AnimationCurves, Gradients, Shaders and Transforms!

    PERFORMANCE IMPROVEMENTS

    All DataKit types have been updated to use constant strings to set and load keys (which reduces memory allocations and improves performance). Multi-threading has also been added for most file operations which makes loading, saving, switching save points, etc super fast behind the scenes!

    I hope everyone is looking forward to V2 - it is of course a free upgrade! :)

    Feel free to checkout the updated documentation in the meantime. I'll let everyone know when DataKit v2.0 is approved by the Asset Store! :)

    - Mel
     
    Last edited: Sep 28, 2019
  14. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    591
    DATA KIT v2.0 IS NOW LIVE ON THE ASSET STORE!

    DataKit v2.0 is now LIVE on the Asset Store!

    ALWAYS BACKUP YOUR PROJECTS BEFORE UPDATING FROM A PREVIOUS VERSION!

    IMPORTANT:
    There is a big change in DataKit v2.0 which means that older save game data from DataKit v1.x can no longer be loaded. If your game has already been released, do not upgrade your version of DataKit for that project. Otherwise, please back it up and follow the upgrade guide found in the new documentation here.

    Thanks! :)

    - Mel