BGDatabase

Version:
1.8.x (change log)
Unity Asset Store:
Unity Discussions:

Description:

Data manager for Unity. Excel-like GUI. Relational database design. Runtime changes are auto-reverted just like Unity components values.

Features:

  1. Fast, In Memory, pure C# ( without SQL) database fully integrated into Unity 3D
  2. Configurable import/export from/to Excel/OpenOffice and Google Sheets (one limitation apply, see limitations section below for details)
  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. Around 90 different field types, including relations and nested tables.
    Support for loading Unity assets from Resources 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. 2-way and 3-way merge tools for multi-user environment with Plastic SCM integration
  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. Flexible event system
  19. Multithreading is partially supported with multithreading addon. Some restrictions apply. Read more here.

Limitations:

  1. BGDatabase is a client-side database, which runs inside Unity only. It can not be used in any server environment
  2. Asset does not support exporting to Google Sheets in runtime from multiple devices, here is why
  3. 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: