Please purge all outdated information on the ECS system

Preface: I have about 7-8 months of experience with Unity, and about 10 months of experience with C# and coding in general, with very little previous background with other languages and general compsci.

After having spent a frustrating day follow instructions and tutorials from Unity sources (your youtube channel etc) and time and time again encountering outdated information, I would like to recommend that you actively hunt down and remove any and all outdated sources of information on this system. So many examples that I found reference design patterns or API calls that have been changed or are deprecated, or simply feature dead links, making it extremely frustrating to attempt to figure out how you intend for this system to actually be used.

(example: Entity Component System - Unity Learn)
(example2 - first two links are dead: New SubScene & ConvertToEntity workflows )

There are also a fair few things that just make me feel plain dumb and like I’m missing something. Take the examples in the ECS git repository. They contain lots of examples about how to use the system. However, there’s no .csproj file to be found anywhere, nor are there any .unitypackage files for importing, so how am I actually supposed to run the examples to learn from them? Do I have to manually import all the files into an existing project? Or are they not intended to be imported at all? The repository contains clear information about how to set a project up to use ECS and the burst compiler, but after that you’re on your own.

Maybe I’m simply not the target demographic for a system like this. I probably lack a fair bit of background information and knowledge necessary to properly understand and utilize the information and systems provided. But I guess that could still be valuable feedback. I suspect I am far from the only Unity user without a strong compsci or programming background. If this is the case, that this system is being designed specifically for users with strong compsci background and programming experience, it should probably be clearly marked as such, so that others like me know to simply put it aside for when they’ve gained more experience and understanding.

I apologize for coming off as somewhat whiny. It’s been a frustrating day. However, I do think that my core point is somewhat important - clarity and consistency of official information matters, especially with advanced systems such as these.

2 Likes

I agree, lots of the examples are super out of date (I had a heck of a time trying to figure out the basics, even from the ECS examples on github) but I think that just comes with how new and still in development ECS is. Things change quickly so tutorials get out of date. And when you have no idea what you’re doing (like me!) it’s hard to tell if you’re just doing something wrong, or the system doesn’t work the same way anymore as the tutorials say!

The github (GitHub - Unity-Technologies/EntityComponentSystemSamples) actually has two unity projects in it, one is the “Samples” folder, and the other is the “UnityPhysicsExamples” folder. Open either of those folders in unity and it will load up the projects to see the examples.

I was working through some examples and documented the super basics on github a few weeks ago, might already be out of date though as I haven’t looked at it in a few weeks. Maybe it will be helpful: GitHub - DMeville/Learning-ECS: Straightforward ECS Demos

1 Like

I was under the impression that Unity utilized .csproj files in order to detect the existance of projects. That was apparently wrong. I figured that there was something I was missing. Thank you for clarifying that.

1 Like