Skip to content

KBVESQLite

KBVESQLite wraps SQLite as an embedded database plugin for Unreal Engine — a vendored sqlite3 amalgamation plus a thin RAII wrapper so consumers never touch raw sqlite3_* calls.

  • FKBVESQLiteConnection — RAII connection: Open(path, bUseWAL) / Close / Exec / Prepare / Begin / Commit / Rollback.
  • FKBVESQLiteStatement — RAII prepared statement: Bind*, Step / Execute / Reset, Column* accessors.
  • FKBVESettingsStore — scoped key/value prefs on a connection (kv_settings(scope, key, value), UPSERT): typed Set/Get String|Int|Float|Bool, RemoveKey, LoadScope. Agnostic settings persistence — UI is KBVEUI’s job.

Add KBVESQLite to your module’s PrivateDependencyModuleNames and dependency_plugins: packages/unreal/KBVESQLite to your ci-registry entry so the CI plugin build stages it.

  • Single sqlite provider — never link the engine’s SQLiteCore in the same module; duplicate sqlite3_* symbols crash the build/run.
  • Persistence boundary, not a Mass hot-loop datasource — one connection is not thread-safe; WAL gives many readers + one writer across separate connections. Load at boundaries, keep the working set in memory/Mass fragments, flush async.

Consumers: FKBVEWorldChunkCache (KBVEWorld), FKBVEInventoryStore + FKBVEItemCatalogStore (KBVEItemDB), FKBVESettingsStore (chuck UchuckSettings window geometry, Saved/KBVE/settings.db).