BGDatabase

Fast, InMemory, pure c# (without SQL), Extendable Database for your Unity 3D in-game data with export/import to Excel and Google Sheets, which works like Unity does by reverting runtime changes
Version:
1.7.x (change log)
Unity Asset Store:
Unity Forums:

Features:

  1. Fast, In Memory, pure C# ( without SQL) database fully integrated into Unity 3D
  2. Selective import/export from/to Excel/OpenOffice and Google Sheets (some restrictions apply)
  3. Integration with visual scripting tools: Unity Visual Scripting (Bolt), Playmaker, Flow Canvas, Node Canvas, Behavior Designer, UNode, Game Creator.
  4. Powerful Code Generation
  5. Selective Save/Load during game session
  6. Over 50 field types, including relations and nested tables.
    Support for loading Unity assets from Resources, AssetBundles and Addressables system
  7. Data binders with UI Toolkit support
  8. Graph editor for calculated and action fields and graph binders
  9. Hook up any GameObject to table row by adding a special component or reference the row with a field
  10. Runtime data editor
  11. Ability to create your own custom field.
  12. Merge tool for multi-user environment (for reviewing and selectively applying the differences between 2 databases)
  13. Live update from Google sheets
  14. Support for modding with Modding addon
  15. Auto-import data from Excel file in Editor and at runtime (details)
  16. No runtime dependencies, DLL file size around 1Mb.
  17. Downloadable plug-ins and example projects
  18. Lazy loading
  19. Flexible event system
  20. Multithreading is partially supported with multithreading addon. Some restrictions apply. Read more here.

Restrictions and limitations:

  1. BGDatabase is a client-side database, which runs inside Unity only. It can not be used in any server environment
  2. Database data is loaded fully into memory, so at some point the database size can become too big. For example, if database has 10 tables and each table has 50 000 rows and 10 int fields, it takes around 26Mb on hard drive and starts getting too big. Partitioning addon can mitigate this problem- but it's not a generic solution

Learning resources:

  1. GUI overview
  2. GUI tips and tricks
  3. How to use
  4. Code examples
  5. Basic 3D example project with text manual
  6. Basic 2D example project with video tutorial
  7. Advanced example project (Inventory system)
  8. API

News: