I think it would be great to get either a course update or a new small course on the new and experimental Unity ECS and their job system. It would really be cool to take a project we’ve already done and refactor it to use this as well.
It would, but right now this is still developing and changing which would, I think, make a course on it quite challenging, as chances are, before a set of videos were released it may have changed again.
It could also be quite challenging to show the benefit of ECS using the course games, this is why you typically see examples currently using thousands of GameObjects (cubes and the like), if you were to convert Text101 for example you’d probably see no benefit at all, and even Laser Defender would be a push perhaps if you ramped up the number of projectiles being fired. If you are unable to show the benefit, at least at the moment, its going to be more about theory than practicality.
Just my two cents… it would be good to have a course on this in time, especially as Unity will be moving to this being the way of developing games, but that’s still some time away.
In the mean time, they do have a very good GitHub repository with samples and documentation, should you want to read more.
See also;
- GitHub : Unity ECS Samples
I also think that this would be great!! I recently looked into the jobsystem and while it is quite “nice” to use for a multithreading solution, it is still rather cumbersome to use and to debug. Even Unitys “simple solution” can not get away with a bunch of wrappers and basically the need to introduce manager classes to properly use their system. But, that said, even though multicore processors with up to a crazy amount of threads are around for quite a while now - it seems like technology utilizing it, catches up super slowly. Currently it seems like multithreading is more prominent in engine code than it is in game code. When scanning through game code, most of the time I see things like pathfinding or iterating over a big amount of objects pushed on multiple threads. I recently tried to multithread AI behavior execution on a seperate thread and it went terribly wrong, since anything becomes soo fragile so quickly when you have a bunch of dependencies and complex operations, which is quite sad since I love solving challenging problems and optimizing performance.
That said, I would love to see a course on ECS and jobsystem, maybe in a strategy game with a huge amount of units?
In the meantime, you can find a bunch of jobsystem tutorials on youtube, but so far I unfortunately don’t see too much convenience in using it and it seems like it is mostly useful, if you move a huge amount of AI units or iterate over 10000 objects or things like that. Really looking forward to the day when there are multithreading solutions that are abstracted enough to conveniently use it for all kinds of things.