KBVESQLite
Overview
Section titled “Overview”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.
Access seam
Section titled “Access seam”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): typedSet/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
SQLiteCorein the same module; duplicatesqlite3_*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).