Skip to content

Unreal SQLite3 Plugin with SQLite3 source included to avoid ThirdParty integration or precompile

License

Notifications You must be signed in to change notification settings

Squareys/unreal-sqlite3

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple SQLite3 Source integration for Unreal Engine 4

Based on SQLite3UE4 Plugin by Jussi Saarivirta & KhArtNJava but with compiling SQLite3 as part of the module code, this opens up compiling it (hopefully) on all platforms without any extra process.

Please report any problems to the issues tracker on this GitHub, or join us at #unrealengine on irc.freenode.net), you can msg me under Getty.

Difference to SQLite3UE4

SQLite3UE4 integrates sqlite3 as a ThirdParty module, which leads to a chain of complexity and also requires people to build the sqlite3 library before using it. On CISQLite3, we integrated the sqlite3 code directly into the module, and so it gets linked like the rest of the module on compile.

Works On

Compiled and basic functionality:

OS Tested
Windows x64
Android
UE4 Version Tested
4.22.x
4.21.x
4.20.x
4.19.x

Installation

Copy this plugin (like Download as ZIP) into the folder Plugins/CISQLite3 on your project and a start of the project should compile the plugin automatically, if the project is C++. If you don't have a C++ project, then you can just make one for the sole purpose of compiling this plugin. Alternative you can install it as Engine Plugin in the Engine Plugins directory (like Epic Games/4.22/Engine/Plugins/Runtime/CISQLite3).

Usage

(More usages to come....)

C++

And here's a simple sample in C++:

Header:

UCLASS()
class SQLITE_API AMyActor : public AActor
{

  GENERATED_BODY()

public:

  UFUNCTION(BlueprintCallable, Category = "My Actor")
  bool GetMyStats();

  UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "My Actor")
  FString Name;

  UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "My Actor")
  int32 Age;

  UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "My Actor")
  FString Gender;

  UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "My Actor")
  float Height;

};

CPP:

#include "MyActor.h"
#include "SQLiteDatabase.h"

bool AMyActor::GetMyStats()
{

  FString dbName = TEXT("TestDatabase");
  FString actorName = TEXT("Bruce Willis");

  if (!USQLiteDatabase::IsDatabaseRegistered(dbName))
  {
    USQLiteDatabase::RegisterDatabase(dbName, "Databases/TestDatabase.db", true);
  }

  bool didPopulate = USQLiteDatabase::GetDataIntoObject(dbName, FString::Printf(TEXT("SELECT Name, Age, Gender, Height FROM Actors WHERE Name = \"%s\""), *actorName), this);

  return didPopulate;

}

License & Copyright

CISQLite3

The MIT License (MIT)

Copyright (c) 2015 Jussi Saarivirta & KhArtNJava (SQLite3UE4)

Copyright (c) 2016 conflict.industries

Copyright (c) 2019 Jonathan Hale (Vhite Rabbit GbR) Copyright (c) 2019 Rehub GmbH

SQLite3

The author disclaims copyright to this source code. In place of a legal notice, here is a blessing:

May you do good and not evil.

May you find forgiveness for yourself and forgive others.

May you share freely, never taking more than you give.

About

Unreal SQLite3 Plugin with SQLite3 source included to avoid ThirdParty integration or precompile

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.4%
  • Other 0.6%