With high speed SSDs as fast as DDR2 (PS5) what's the best way to store and load entities?

The PS5 has shown that high end SSD cards can now match older DDR2 memory in bandwidth speeds.

If you utilise DOTS to create and populate a large open world you could be streaming in updating and streaming out large groups of entities that live in that world.

In effect your open world could be alive and active.

I know DOTS has a very SQL like filter for entities used by a system.

Would a database be ideal or because of the chunking and memory streaming would a flat file system be better?

Then again in an open world I would imagine that coordinates and proximity to players would be very important to work out what data to update at what frequency.

So what tools for storing/streaming/sorting and fast loading of entities does Unity provide or have you found to be best for open worlds?

PS I’ve noticed that Unity now has Blobs which I think are binary large objects would they work as a way to serialise large blocks of entities?

1 Like

All data in entity binary files is memory ready data on disk. Everything from chunks to blob assets is designed for ensuring that streaming in DOTS is a first class citizen that is only ever bound by hardware constraints.

Ensuring that we can have speed of light streaming speed on next-gen consoles was a very important consideration in the choices we made in entities so far.

We are quite confident that all IComponenData / Bufferelement / entity / blob data will be loadable at maximum IO throughput on next-gen consoles at launch. We are roughly at 50% of speed of light now, and we are working on getting the other 50% back.

15 Likes

@Joachim_Ante_1 sorry for pinging but I want to thank you for your involvement in dots development I thought Higher-ups didn’t care much about unity development.

Cool so could there be a populated mega city demo?

And what impact could this DDR2 level speedy storage have on build and load timings?

1 Like