Entities package comming out of preview

We are deciding to choose between unity’s ECS implementation or a third party one for a contract project. We’ll need the ECS system just for the deterministic simulation of our strategy game and so far considered Entitas and Unity.Entities.
We are not going to need fancy ECS stuff for now. However for the stuff that we use, we would like to know when it will come out of preview so we can start the project, knowing that we’ll not get a on device crash due to a ECS bug which it is hard for us to fix and unity is not considering a fix for. Smaller API changes are mostly ok since it seems the core API is getting stable.

Crash bugs or anything ship stopping generally gets fixed pretty quickly. If you are choosing between Unity.Entities and other ECS solutions, I am quite certain Unity.Entities is the most robust & performant solution at this point.

2 Likes

@Joachim_Ante_1 Great then. Then we’ll go with Unity ECS and will also try our best to share our experiences with the community as well.

We just needed a green light on this and please tell the documentation guys to update the manual pages regarding the current state of ECS. One of my workmates checked that and said, unity is saying we should not use their stuff while that page is not updated since the time of two stick shooter sample.

Were they looking at old manual on GitHub?

https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/index.html

@Ashkan_gc I’ve been using this ECS for a little over a month and I’ve found zero errors and incredible performance. I think they are just giving warnings to cover their own asses for extremely crazy edge cases. ECS has been under development for over a year externally and it will probably come out of preview this year.

1 Like

Yes sure and I’m trying to do protect ours and our customers Ass as well.
I know it is good and cool tech but going to production for a game which will release with a movie doesn’t give you much failure chances

Then I wouldn’t use any entity systems unless your team is really familiar with ECS architecture. In my early learning I programmed in it (for about 2 years) and I am still having trouble getting my head around it.

ECS should be for learning and experimenting right now not something super critical. Of course if you are solid with ECS then go ahead. OOP may be the way since it is so proven though (if not performent).

It’s not about performance in our case. It’s about ease of making a deterministic architecture up and running instead of building one ourselves and we are trying to find out what we’ll do in the coming days.

If you are working with it for 2 years and still not feeling easy about it, try another approach. ask your questions from people who have more experience. Try to focus less on making every other thing a linear access and … and read code. read a lot of code. it it still doesn’t make sense then , i’m out of ideas

@Ashkan_gc I was using Artemis which does a few things different over Unity ECS. It also was when I first started programming and then I took 3 years off to program just in Unity OOP. I got super used to OOP so getting back into ECS has been rewarding but I am still figuring out how to implement things in Unity’s coding system.

I am just saying you shouldn’t use this for mission critical stuff. The ECS docs explain you shouldn’t use it unless you want to experiment or need ECS for some reason (like complex simulations which it seems tailored to).

I’ve worked on several large production games using far less stable tech. Hell most production game code is itself far less stable then ECS is. ECS I’m not concerned about as far as stability in a production environment.

What’s really a risk where Unity is concerned are things that won’t show up until you are in production. like bugs in IL2CPP that can be fairly hardware dependent. ECS is mostly C# outside of jobs and NativeArray. Bugs are going to show up in development in obvious ways in my experience.

1 Like