GithubHelp home page GithubHelp logo

rendertool / sqlitegamedb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ysgrathe/sqlitegamedb

1.0 0.0 0.0 346.92 MB

A plugin for unreal engine that gives a SQLite framework built on top of the default Epic plugin code.

License: MIT License

C++ 93.31% C 6.64% C# 0.06%

sqlitegamedb's Introduction

SqliteGameDb Unreal Plugin

A plugin for unreal engine that provides a helpful SQLite framework to use in your projects. To try and keep things as 'easy' for people to understand as possible, the plugin is built on top of an updated version of the default SQLite plugin code provided by Epic.

TLDR quick information

  • Use this plugin to quickly connect to SQLite database files and query them.
  • Works from either C++ or Blueprints
  • More recent version of SQLite - more features available

Links

The plugin and its framework are explained in this YouTube video:
https://youtu.be/yYn7L6e99D8

Join the Discord for general game dev chat, help with unreal, and specific SqliteGameDB questions:
https://discord.com/channels/880412919047790603/1019180887969103903

Unreal version

The plugin has been compiled and tested with UE5.0 and UE5.1
It can be made to work with previous versions of the engine, but some changes to the sourcecode are necessary.

Is there any 'proper' documentation for this plugin?

If by 'proper' you mean a written manual, no. The project, and the documentation, are both works-in-progress.
There is a YouTube video showing how to use the plugin, and eventually when I have the time, I will provide written documentation including pretty class-diagrams and suchlike for those who prefer such things.

Why not just use the SQLite plugin from Epic?

Well, you can. And I have some instructions on doing that here:

Unreal & SQLite Databases - Part 2 - Standard SQLite Plugins
https://youtu.be/8Nsqz_AMOCI

However, that will only give you very simple, low-level access.
It's great if you want to know how SQLite ticks, and I encourage everyone to understand that from a foundational point of view. But it wont really help you get quickly up-and-running with a working database in your unreal project.

That's what the SqliteGameDb framework plugin is for. It simplifies some common database tasks, allowing you to concentrate on making your game.

Why does this plugin contain its own version of the SQLite library, and not just reference the SQLite library provided by Epic?

My original plan was to do exactly that, because I wanted to use as much of Epic's code as possible. I am grateful to Epic for even bothering to provide the SQLite plugin in the first place, however, they probably wont be updating it, at least not regularly.
I can understand why; they are already maintaining their own codebase, and needing to follow what another project is doing is just outside the scope of what makes sense.

Epic were forward thinking enough to include instructions in their plugin on how to update the SQLite library yourself though.
And so that's exactly what I did. Rather than include the SQLite library in my own way, I have simply used a clone of Epic's module and renamed it (SqliteCoreX), incorporating a more recent version of the SQLite library.

But why do you need a different version of the SQLite library anyway?

SQLite is an actively developed project, and more recent versions contain some very useful and powerful features that make using it much simpler.
Many PostgreSQL style features have been included, and there are productivity extensions such as UPSERT style queries, and the RETURNING clause which allows INSERT, UPDATE, and DELETE queries to return a result row for each affected record - which means you can insert a new row into a table and get back the autogenerated id without needing to run a separate SELECT query.
All of that didn't exist in the version originally included in the Epic plugin.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.