Mono.Data.Sqlite vs. System.Data.SQLite

Normally (when working in a non-Unity C# project), I would import a System.Data.SQLite.Core NuGet package (

But I wasn’t able to make it work in a Unity project (that would be a separate question I guess).

So, I ended up using the Mono.Data.Sqlite library, which is included in Unity (…\Editor\Data\MonoBleedingEdge\libmono\unityjit).

My question is:
Are there any known disadvantages for this (for using the Mono library instead of System one)?


My target platform is Windows 64-bit only.

Unity 2018.2.0f2

Scripting Runtime Version: .NET 4.x Equivalent

Scripting Backend: Mono

Api Compatibility Level: .NET 4.x

It appears they were both started by the same engineer, Robert Simpson. Both are for SQLite 3. Simpson doesn’t appear to be active in either at this point.

Since they are both ADO interfaces, they should be quite similar. There may be minor issues in data compatibility because of peculiar behaviors in SQLite, and the way these ADO interface deal with them.

Since you state your platform is only Windows, I think System.Data.SQLite is likely a better choice, but it is likely a minor difference.

It looks like there’s also the 3rd implementation: Microsoft.Data.Sqlite

Just to make things even more interesting :slight_smile: