You are viewing a potentially older version of this package. View all versions.
AtomSmasher-UKSQLite-1.0.0 icon

UKSQLite

Shared SQLite runtime libraries for ULTRAKILL BepInEx mods. For truly exceptional data storage.

Date uploaded 2 days ago
Version 1.0.0
Download link AtomSmasher-UKSQLite-1.0.0.zip
Downloads 1578
Dependency string AtomSmasher-UKSQLite-1.0.0

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

UKSQLite

UKSQLite is a shared SQLite dependency package for ULTRAKILL BepInEx mods.

It provides the SQLite runtime libraries needed by mods that use Microsoft.Data.Sqlite, so every mod does not need to ship its own duplicate SQLite DLLs.

This package does nothing by itself. It is intended for mod developers and as a required dependency for mods such as ULTRASTATS.

Why SQLite?

SQLite is a great fit for ULTRAKILL mods that need local persistent data.

It is fast, lightweight, serverless, and stores data in a normal file on the player's machine. There is no separate database server to install, no account system, no service to start, and no setup step for the player. You get the power, speed, optimization, and reliability of a database with none of the downsides of a database. Just by switching to SQLite ULTRASTATS got exponentially faster with minimal effort.

SQLite is useful for much more than stat tracking. Mods can use it for:

  • run history
  • custom level records
  • player profiles
  • per-save data
  • mod configuration snapshots
  • unlocks and progression
  • cached online metadata
  • analytics/debug logs
  • replay indexes
  • enemy, weapon, or style history
  • large searchable datasets

For small or medium local mod data, SQLite is often a better choice than constantly writing custom JSON, CSV, or text files. You get structured tables, indexes, queries, transactions, and safer writes without needing a full external database.

If your mod needs to save data that may grow over time, needs to be searched, filtered, sorted, migrated between versions, or written safely after gameplay events, SQLite is worth considering

Why use UKSQLite?

Without a shared dependency, every SQLite-based mod has to ship the same SQLite DLLs. That makes packages larger and increases the chance that multiple mods ship different versions of the same libraries. None of that is ideal.

UKSQLite solves that by putting the SQLite runtime in one shared dependency package.

Mods that depend on UKSQLite can use SQLite without bundling their own copies of:

  • e_sqlite3.dll
  • Microsoft.Data.Sqlite.dll
  • SQLitePCLRaw.batteries_v2.dll
  • SQLitePCLRaw.core.dll
  • SQLitePCLRaw.provider.e_sqlite3.dll

This keeps mod packages cleaner and makes it easier for multiple mods to use SQLite together.

What this includes

UKSQLite currently ships:

  • UKSQLite.dll
  • e_sqlite3.dll
  • Microsoft.Data.Sqlite.dll
  • SQLitePCLRaw.batteries_v2.dll
  • SQLitePCLRaw.core.dll
  • SQLitePCLRaw.provider.e_sqlite3.dll

The UKSQLite plugin initializes SQLitePCLRaw on startup using Batteries_V2.Init(), allowing dependent mods to use SQLite without bundling the same SQLite runtime files themselves.

For players

If a mod lists UKSQLite as a dependency, install UKSQLite alongside that mod.

With a mod manager, this should happen automatically.

For manual installation, the folder should look like this:

ULTRAKILL/
└─ BepInEx/
   └─ plugins/
      └─ UKSQLite/
         ├─ UKSQLite.dll
         ├─ e_sqlite3.dll
         ├─ Microsoft.Data.Sqlite.dll
         ├─ SQLitePCLRaw.batteries_v2.dll
         ├─ SQLitePCLRaw.core.dll
         └─ SQLitePCLRaw.provider.e_sqlite3.dll

CHANGELOG

Changelog

v1.0.0

  • Initial release.