"–Reality is merely an illusion; albeit a very persistent one."

April 27, 2018

USQLite (Programming)

This is my implementation of SQLite API for Unreal Engine 4.
This is one of most complex and useful Unreal Engine extensions I’ve built so far.
This system empowers developers to save and load any data to and from SQLite Databases in Unreal Engine 4 without forcing them to write a single line of SQL Code
(or Blueprint Spaghetti).
If you’re developing a Game that heavily relies on persistent data that must be reliably saved and loaded all the time, such as RPG Games, your best bet is implementation of a Database such as SQLite to record Player’s progress, instead of relying on binary or text files to save your Game…

But learning SQL programming may become a daunting and lengthy process for you to achieve that goal. With this system in place, you can create reliable Databases for your Games, and never care less about SQL syntax.

Making use of a powerful custom serializer engine that I’ve built after a lot of research, based on Unreal Engine’s Code Reflection System, this system is capable of helping you to do amazing and unique data persistence in runtime that otherwise would be impossible.
For example: Unreal Engine’s “SaveGame” system can’t easily save Actor References and restore them to your Properties in real time, but with this system you can:

Execute Multi-Threaded SQLite Functions!

Create & Edit Database Assets in Unreal Editor!

Auto Generate SQL Code through Property Reflection!

Setup Property Versioning to support old Game Versions!

Save & Load Object References (Pointers) and easily restore them!

Save & Load data without conflicts across multiple streamed Levels!

Save & Load Actors or Component References and even Arrays of References!

Save & Load any kind of Struct as well as basic types like Ints, Strings, Vectors, etc!

Save & Load from Background Thread, while players sill interac with Game World!

(Optional) Progress Bar System can accurately report loading status without freezing the Game!

(Optional) HUD System can automatically generate and show Loadscreens when saving or loading the Game.