I know that the big benefits of DOTS and ECS can be seen when the game contains a lot of objects which hold the same data, so that they can be put together in chunks of memory and easily iterated through.
My question is: I'm doing a normal game, that doesn't contain thousands of objects that hold the same data, quite the opposite: there are a lot of objects that contain different data and behaviours. Would it still be benefitial to use DOTS?
I know in terms of memory, it is benefitial, in the sense that only the useful things are broght into play, but in a situation where the big benefits of DOTS (thousands of similar objects) are not present, how should I decide to use it or not?
Unity's DOTS intro tutorial has this to say about the benefits of using DOTS at this point in time:
So basically, Unity claims these things about adopting DOTS now:
You don't have anything to lose performance-wise (although some things may require a more effort to implement in DOTS than others)
Even if you aren't controlling "many" objects, DOTS can be more efficient where you are doing duplicate operations, and this can make a meaningful difference when considering low-end hardware or resources such as battery use.
On top of the material benefits of adopting DOTS now, it also acts an educational experience for people or organizations to use it on later projects when the material benefits would be greater.