News for hackers. Stuff that matters.
Re:Random Thoughts about Unity by waynecochran on Saturday August 24, 2024 @01:21PM (#41339735)

    Yes, the original DOTS idea had a very strong vision and direction. I don’t know what the current DOTS vision is. But to me the original DOTS vision felt a lot like it is trying to be something else than Unity...
What is DOTS?
Re:Random Thoughts about Unity by DDSDev on Saturday August 24, 2024 @01:36PM (#41339835)
DOTS stands for “Data-Oriented Technology Stack”, which is a collection of Unity technology to include their Entity Component System framework, the Burst Compiler, and their Job system.

Each of these technologies have their own descriptions, but a very quick (and perhaps over simplified) explanation:

ECS is a framework where you have entities that themselves have one or more components, acted on by systems. The way these components are laid out in memory and acted upon by systems is typically more cache friendly then traditional game engine design with heap allocated GameObjects that are themselves a mess of pointers (Structs of Arrays vs Arrays of Structs)

Burst allows you to annotate functions, jobs and systems written in a subset of unmanaged C# that compiles to highly optimized instructions for better performance.

The job system allows you to schedule jobs with dependencies in a useful way that can help enable parallelism without manually having to deal with thread primitives. The jobs can also be burst’s themselves and used in a non-parallel manner if you don’t have something easily parallelizable.

Re:Random Thoughts about Unity by msk-lywenn on Saturday August 24, 2024 @01:35PM (#41339832)
It stands for Data Oriented Tech Stack. It's their ECS (Entity Component System) + "high performance c#" (a C# subset with their custom compiler). I used to call it Unity 2, since it was so different and incompatible with Unity itself.
Re:Random Thoughts about Unity by swaginator on Saturday August 24, 2024 @01:23PM (#41339750)
Unity's ECS framework
Re:Random Thoughts about Unity by waynecochran on Saturday August 24, 2024 @01:26PM (#41339779)
What is ECS?
Re:Random Thoughts about Unity by ezekg on Saturday August 24, 2024 @01:28PM (#41339787)
Entity Component System.
Re:Random Thoughts about Unity by waynecochran on Saturday August 24, 2024 @04:27PM (#41341232)
I should have known that last one -- I have been programming using Apple's RealityKit for a year and a half which is an ECS -- I guess I get lost in all the acronyms ...
Re:Random Thoughts about Unity by jarsin on Saturday August 24, 2024 @01:36PM (#41339836)
It is their attempt to turn unity into an ECS game engine even though Unity was originally an Object Oriented game engine.

Really just another in a long list of features that split the community in two.

Re:Random Thoughts about Unity by waynecochran on Saturday August 24, 2024 @05:38PM (#41341782)
Why can you do both? RealityKit is an ECS, yet its classes and objects are designed w OO principles in mind.
Re:Random Thoughts about Unity by jarsin on Saturday August 24, 2024 @07:39PM (#41342872)
In Unity's ECS they literally had to throw out every single thing from the OO game engine to get ECS working.

So it was like having two entirely different ways of building a game in the same game engine. Everything one knew about Unity was now gone and you had to learn an entirely new way of solving the same problems. Sure you can still do OO things like inherit systems or whatnot but it was nothing like the original unity.

Once they realized how big of a change this was they did come out with some hybrid approach where you can have OO objects converted into Entities. But really it was just a Band-Aid to the gaping wound they made of the engine.