ECS Journeys

Transitioning to ECS seems to be a goal with Unity3D, understandably. So I’ll be transitioning as well. Seems like a big learning curve but I’ll begin by storing some good links for existing tools and articles here that I find.

Progress

After a bit of time trying to grok TinyUnity / ECS / TypeScript, here are some thoughts. First of all – Tiny Unity is very buggy right now. There have been a lot of seemingly unrecoverable breakages. Thankfully, due to the nature of the Entity Component System, it is VERY easy to rebuild these projects. I’ve found that doing simple things like modifying a transform is very cumbersome. It’s an unfortunate but seemingly necessary problem – getting references to things is a pain.

Burst Compiler

After playing around with Tiny Unity for a while, I’m going to start working with standard Unity ECS using the burst compiler directive. Multithreaded code is super fast, and the reusability inherent in ECS is exciting. Maybe I’ll convert The Crash over to ECS jobs…! I’ll Probably start with a tutorial here : https://www.youtube.com/channel/UCTjnCCcuIbrprhOiaDJxxHA

SFI.Physics

I’m working on a better understanding of 3D physics outside of the standard Unity3d library, and I occurs to me that as I write that library, I should probably do it ECS style. In my searching, I found a nice looking ECS collision physics library : https://github.com/PhilSA/ECSPhysics/tree/master/Assets/PhysicsEngine/Code This library will be complementary to the Unity math and physics library, as I have time to study them. I’m basically testing my own math against Unity’s libraries so that I get a better understanding overall.
Share