SQLite on Android/Pico: Write operations fail (CREATE TABLE / INSERT), database file stays 0B

Hallo,
I’m using the built-in Unreal Engine SQLite plugin (FSQLiteDatabase) to store and modify data in a SQLite database. Everything works fine on Windows – I can create tables, insert data, and read from the database. However, on an Android-based Pico VR headset (ARM64), any write operation fails. The .db file is created (with size 0 bytes), but CREATE TABLE and INSERT calls both return false when executing Execute(). Reading from an already populated database (manually copied to the device) works fine, but creating or updating rows doesn’t work at all.

bool bOpened = SQLiteDatabase->Open(*DatabasePath, ESQLiteDatabaseOpenMode::ReadWriteCreate);
if (!bOpened)
{
// Failed to open DB
return;
}
// DB file appears, but remains 0B

bool bCreateTable = SQLiteDatabase->Execute(TEXT(
“CREATE TABLE IF NOT EXISTS T1 (ID INTEGER PRIMARY KEY AUTOINCREMENT, TXT TEXT NOT NULL);”
));
if (!bCreateTable)
{
// CREATE TABLE fails on Android/Pico
}

bool bInsert = SQLiteDatabase->Execute(TEXT(
“INSERT INTO T1(TXT) VALUES (‘TestData’);”
));
if (!bInsert)
{
// INSERT also fails
}

  • On Windows: All commands succeed.
  • On Android/Pico: Open returns true, but every write operation (e.g. CREATE TABLE, INSERT) fails. The resulting .db file remains empty at 0 bytes.

What I have checked:

  1. File Path – Using FPaths::ProjectPersistentDownloadDir() for the database path on Android. I can successfully write plain .txt files in the same location.
  2. PRAGMA/Transactions – Removed all WAL/transaction statements to keep the test minimal (still fails).
  3. Build Settings – Only arm64 support is enabled, no armv7.
  4. Plugin/SQLite Version – It’s reported as SQLite 3.31.1 in the plugin.
  5. Read-Only DB – If I manually place a pre-filled .db file on the headset, I can read from it, but attempting to insert or create new tables fails as well.
  6. No direct error logs – The plugin doesn’t expose sqlite3_errmsg(), so I only get Execute() == false. On Windows, there’s no issue at all.

Any help or insight would be greatly appreciated!