Information about 2D support in ECS?

I’ve been watching a lot of the talks and reading articles about DOTS. However, all of them talk about 3D, 3D physics, rendering, …

All I could find about 2D was Project Tiny, but now I read their next release will also just support 3D and add 2D again at a later date.

Is there any information about the state of 2D in DOTS? And where it is going? Or an expectation of when more information about it will be released?

4 Likes

I’m waiting for this, too!

To be honest, you can already make a 2D game using dots. Everything that can be done in 3D can also be done in 2D, it’s just a matter of not caring about a third axis.

I’ve been working extensively on a 2D prototype for these past two months and I’m almost at the point where I can make the results public. The only real problem I ran into is efficient rendering of animated sprites, which I worked around by writing my own proper 2D rendering system although you can work with RenderMesh if you’re not dealing with animation and if you have less than 1000 entities.

Are you waiting for all the 2d features in Unity Engine? I guess that’s impossible in few month. You can choose a hybrid way, only using dots for calculate-intensive code.

For most user cases, the only difference between 3D and 2D is z-depth. In case as DOTS, you need make own z-depth management. Then of course you may be interested in sprites animations.

But the last thing, is already discussed on the few forum threads.

Collision in 2D is trivial, to dealing with typical 3D. Unless start considering weird shapes rather than primitives.

Of course you could. It would just be nice to know how far along official support is, and when they are planning to release which part of 2D.

For me personally I’m mostly interested in tilemaps/grids. And just knowing where they are currently at when it comes to any part of 2D.

Sure, technically that’s the only difference. However for me the most important difference would be the editor tooling and just ease of use really.

Of course there are not-so-trivial parts, one you mentioned already (non-primitive collider shapes). Or when you want to do actual physics, rather than just collision. Or how to properly represent a grid of tiles in ECS. And then all the animation stuff. And many other probably, I’m not that familiar with all the 2D things in Unity.

Anyway, it would just be nice to know how far along the support for 2D is. Or if they decided to temporarily ignore 2D and first make sure everything 3D works with ECS, so we shouldn’t expect anything DOTS-2D the coming year(s). Just anything that gives us some information about 2D in DOTS.

As a hobby game developer I’m not asking this because I desperately need it for some project. It’s mostly out of curiosity and knowing when I can play with DOTS and 2D without having to (re)write a bunch of ‘backend’ stuff myself.

This year surely not.
Maybe if enough users will keep asking about 2D then Unity will consider update road map for next year.
As far I am aware, 2D is not the priority at all, since most things for 2D can be done already.

There is no proper “tooling” yet for 3D .Where to mention about 2D. So I expect still long way of, unless I missed something in recent GDC, or forum discussions. Either way, initially would be preview package anyway.

For sprite sheet animation and rendering, you could try FabriozioSpadaro’s system. It is fast!

Forum thread: 200k dynamic animated sprites at 80fps
Source code: GitHub - fabriziospadaro/SpriteSheetRenderer: Spritesheet renderer is a powerful Unity ECS API to render massive numbers of sprites using the new dots stack, taking full advantage of Jobs, DynamicBuffers and ComputeBuffer

3 Likes