New version of Entities 1.0 pre-release now available - February 2023

Is it possible to do pure ECS project as of now? Do we still need GameObject system?

Also are there any tutorial for ECS navigation exist?

DOTS 1.0 uses scene based conversion work flow.

Saying that, you still can generate entities manually if you want to. Or via baking process with GO prebas.

Either way, you can bake initial prefabs and then crate any archetype for these entities as you want.

Regarding navigation, you may need to use one of community proposed solutions. At least one of them discusses using Unity navmesh.

2 Likes

Thanks. Sadly 1.0 should have editor template and tools for pure dots project already

There is no such thing like PURE DOTS. It is false convention, which floats about.

You will use UI API, which isn’t DOTS. Unless you will create own API, for UI, which will use also raycast. But is it needed really?
You will use Unity Inputs API, which isn’t DOTS.
You will use either hybrid or, URP / HDRP API.
You have DOTS based physics.
You can make various type of games already.
Inspector is very helpful utility to assist and speed up game making.
Depending what you are planning to do, you will need for some type of games animation, navigation etc.
Saying that, not all game need these. So it isn’t stopper.

Let unity DOTS team focus on polishing DOTS core, rather than being demanding; and instead making things like Unity does, releasing halve asset APIs.

2 Likes

The concept of pure DOTS is about replacing scene and gameobject/component system

Input is independence system, or we could consider replace new input EventSystem with DOTS

Canvas system should be replaced by 2D ECS. Or using new UIElements, I think that was underlyingly ECS

We used to have Inspector and other editor’s component that refurbished to support DOTS and Tiny subscene, which also convert scene into subscene system

The point is DOTS system is not really compatible with gameobject and scene system. And it’s like we have engine inside engine and I don’t feel that was a good direction

2 Likes

Pure DOTS might happen in the far future. But in the near future, they have to address many issues at the core first for the foundation to be stable. And it should be able to support user-defined workflows that only depend on core functionality. Currently it breaks for some of us just because we want to extend the core for custom functions and tighter control over the world.

I doubt it to be honest.
As I would like be mistaken, we will most likely not see anything special for 2-3 years on the matter.
Unity DOTS already pursue hybrid approach since few years.
They addressed that there will be DOTS and GO.
They do work on certain API which meant to be DOTS sided.
But seeing works been done on Unity, they may want to rather optimize GO domain, to be more compatible with DOTS and support hybrid GO-DOTS solutions, rather having PURE DOTS.
I.e. adapting Unity NavMesh, to be usable with Jobs, as we experienced.

GO will stay in the editor as an authoring object, but I think that more and more features will get an ECS variant.

Basically, input system in combination with ECS without a GameObject is already possible, e.g. a system (based on SystemBase) that implements the autogenerated ActionInterface and writes the inputs to a component.

What I say is there should be an option to create new project and ditch all gameObject if we liked to

GameObject could be common way. But should have option to not using it if we would do DOTS anyway. I just don’t want to maintain project that has 2 system that can do the same thing and require conversion

Yep that was it. Thanks!

Could we get an update on WebGL roadmap? Is it still a Unity first-class citizen for DOTS, or maybe, or unlikely?

WASM threads are now GA ( ref), but the issue seems to be DOTS use of compute shaders? WebGPU spec is still in draft, Unity is progressing but no visibility of WebGPU yet (ref )… perhaps a “poly-fill” is needed?

Browser support especially for enterprise deployments is important… even if we can’t yet get full DOTS performance improvements WebGL in its current form should still be compilable and executable with at least current performance levels (IMHO).

Was Unity.Animation renamed to Unity.Motion?

You can already do that. But this line of thinking is wrong. You don’t really want to setup raw components in the editor. It’s tedious, designer unfriendly and requires knowledge about the inner workings of your dots code. Authoring components provide an abstract, designer friendly way to compose data. And if dots had animation and audio, at runtime, there would be only one runtime running (dots). Right now you still need the old systems. So in the future, GameObjects are the “editor-side composable gameplay elements” while at runtime it’s only dots code. If you actually try the baking workflow you’ll find that it’s quite nice. There’s nothing hacky or workaroundy about it, it’s much better than having just pure dots (except that there’s more api surface to understand but it will get easier over time with more tutorials).

3 Likes

Hello everyone! Please note that we’ve released a hotfix for the following packages:

Looking forward to your feedback as always!

9 Likes

Still have the same issues discussed here: https://discussions.unity.com/t/909509

Are managed components breaking everything? I am using the built-in UIElements for my UI, accessing a UIDocument in managed components. 2022.2.8f1

There are several issues discussed in that thread, and I definitely fixed at least a subset of them. What’s your current symptom?

1 Like

I get the same errors here: https://forum.unity.com/threads/entities-1-0-0-pre-44-componentsystemgroup-sorting-is-completely-broken.1401106/#post-8814412

Also, cannot access any DOTS editor windows…or they are very buggy. Also, every time I try to close the editor it crashes.

Somehow this slipped through being fixed, you’ll still need to apply the fix I mentioned in that post. I’ll update my cloned repo with the fix shortly.

Thanks @tertle for the fix. Was just hoping there would be an official patch rolled out. I’ll just work on other things till this is fixed.

Do you guys get that sometimes when you drag and drop the authoring component onto the game object, it double adds the authoring component? Becomes annoying after some time.

3 Likes