Unity DOTS/ECS is powerful at processing huge amounts of operations. This performance relies on data lookup in continuous chunks, but what if you encounter dependencies between entities and have to jump between chunks? All entities should follow a moving target or entities should react to actions from another Entity? This post highlights how entities can interact with each other and what implications this has on performance.
In this blog post I will demonstrate how to use Unity’s EntityComponentSystem as well as Burst compiled Jobs to build a dungeon builder game like the good old DungeonKeeper.
This awesome old game turned out to be the perfect example to show of some techniques that will hopefully help you to get into the mindset of DOTS and EntityComponentSystems.
Introduction Around two years ago Unity published the first version of their new tech-stack regarding “Performance by default”. The big thing everybody was talking about was their new Entity-Component-System (ECS) that enabled super fast CPU-based simulations like the Boid demo and the Mega-City. The key aspects to reach this high performance are: Cache friendly memory […]