DOTS/ECS vs OOP

Just went through the Unity DOTS course. From browsing around the web and the course its self, it seems like ECS is not implemented across all, or even most, of unities current utility.

Given the difficulty of trying to make it and standard monobehaviors play nicely together when potentially trying to access the same data, it seems like it would only be worth changing to/starting with an ECS system if the game has a large number of very similar entities/game objects.
For example larger open world type games or simulations.

For example it wouldn’t really be worth it at this stage for an RPG/Combat Traversal style where you have ~5-20 NPC’s + a player in a scene, not a whole heap of reusable systems and state machines in ECS seem to get relatively messy. Potentially use the Job system to parallel some heavy lifting like saves and loads?

Is that the feeling for DOTS/ECS at the current time?

As of right now, DOTS/ECS has fallen far short of the initial promises made several years ago when it was first announced. For the time being anything that needs to be regularly interfacing with OOP is far too costly to box between the two systems, making it virtually impossible to integrate, for example, the characters in our RPG series games.

This doesn’t mean the system is useless, however, far from it. It’s very handy for background elements like butterflies or wildlife we don’t need to interact with, or other things you might have used a particle system for before. Anything that is already fire and forget within the scene can be sped up using DOTS.

I totally agree with Brian. However, if you have a really solid understanding of ECS, nothing stops you from making a great commercial game. V Rising is made with Unity ECS, but the team that made it have extensive knowledge of ECS, and they also made a few changes to the actual Unity ECS to suit their needs.

31 team members (though I’m sure not all of them are involved in development). That is one nice thing about Unity (and Unreal), though. Because most of the functionality is achieved through plugins, it’s quite possible for an experienced team to mod just about anything. With any luck, Unity will look to them for tips on integrating ECS with the OOP Game loop.

Privacy & Terms