Note: This topic is better suited for the DOTS subforum instead of the general scripting forum.
This may be of interest for you: A Voxel Game prototype in Unity ECS
I also suggest to search the previously mentioned DOTS subforum for keywords like “voxel” and “minecraft” to read the discussions about this topic.
And you don’t need it. The question is if it helps you and makes your life easier or harder.
Have you considered using the new Mesh API already?
DOTS is the result of Unity’s “performance by default” initiative. So if you want to do more game with less resources it is your thing.
Edit: A good presentation about the performance improvements gives this video.
Burst allows to a better parallelization of code (SIMD) and produces highly optimized code. A good tutorial to get you started.
In “normal” OOP programming you have lots of references between objects which lay scattered in memory. So when you “follow” such a reference for example to access the transform of your object the memory where it lays must be fetched from RAM which is pretty slow. Because the required object cannot be found in CPU-cache this is called a cache-miss. DOTS-ECS applies a pattern called Data oriented design to pack the data tightly in memory so those cache misses are minimized. This requires a new thinking about data, it’s layout, access patterns etc… So many people coming from OOP have a hard time to “transition” in this new thinking scheme. The data layout is often compared with database tables.
Single core performance has reached a plateau and will probably not improve significantly in future. But the number of cores will raise steadily. So for more performance you have to parallelize your calculations.
There is a little naming confusing. I guess you mean the ECS part of DOTS. DOTS itself consists of the new Jobs system, the Burst compiler, a new math library (SIMD-capable with Burst) and ECS. The former parts are more or less useable right now. DOTS-ECS is not. UT has gone completely silent on it’s development without explanation at start of the year which is controversely discussed. So currently I would advise against using it since it’s future is unknown. Maybe the whole thing is already scrapped. Who knows when there is no official statement?
ECS has quite some technical problems. Some of which are that you are locked at Unity version 2020.3 when you want to use it. You get no updates for URP which causes further issues. Most “systems” like animation, audio, UI etc. are not supported yet. Documentation, examples etc. are lacking. So the state is very experimental and you must be willing to “work” through such issues. If you want to learn and experiment go ahaead. If you (commercially) rely on the result better to wait a bit more how it develops (if at all).
It definitely is a step in the right direction. But how UT handles this (no updates, no communication) is highly questionable. So my advise would be to utilize the other parts of DOTS and leave ECS out until it is “officially” support and talked about again. When you adopt the current 0.17 version chances are high that you need a complete rewrite when new stuff comes out. I have put my ECS project on hold for this exact reason.