Unity In-Memory Database

This codebase aims to aid developers in making games using a Data-Orientated approach to store, manage and serve data tables from memory.

Why use this?

MonoBehaviours in Unity have been used as a one-stop shop to house data and behaviour. While they are suitable for most projects they don't scale well unless well wrangled. This module seeks to separate data, behaviour and the viewable game object into their own processing steps, hopefully enabling your projects to scale to 100s and 1000s of on-screen game objects.

Performance

Tested on my MacBook Pro (15-inch, 2018)

  • 2,6 GHz 6-Core Intel Core i7
  • 16 GB 2400 MHz DDR4
  • Radeon Pro 560X 4 GB

While stress testing I found that the framerate starts to dip from 60 fps after adding 1000 balls to the scene. However, this is due to each ball having its own material instance. If all balls are using the same material and no color is being set then the system seems to start to dip after 3000 balls at 50 fps and the 40 fps at 5000 balls. If there are no meshes on screen then the fps starts to diminish at 5000 balls and only goes below 50 fps after 7000 balls.

https://github.com/Jwho303/UnityInMemoryDatabase

StatusReleased
CategoryTool
PlatformsHTML5
AuthorJwho303