Massive Worlds: Introduction to DOTS
While Unity is a powerful and performant engine (when used properly), there’s a limit on how many GameObjects you can have without reaching performance limits. While the Object-Oriented Programming (OOP) paradigm provides a convenient way to code a game, due to its internal works, it won’t always take advantage of all the modern CPU features, like caching, Single Instruction Multiple Data (SIMD) operations, and multi-threading. While it isn’t impossible to use such features in OOP, doing so is not a trivial task and can lead to difficult-to-track bugs. Unity’s response to that issue was releasing the first production-ready version of the DOTS packages, which will help us with these problems.
In this chapter, we will examine the following build concepts:
- Understanding what DOTS is
- Creating our first DOTS game
- Creating gameplay in DOTS
Let’s start by getting an idea of what DOTS...