I’m contemplating the development of a game that would require the amount of entities seen in Days Gone combined with a vast Open Voxel world. I’m trying to decide between the 3 popular Engines, and while I’m aware of Unity’s DOTS & ECS features, which would be beneficial for handling such scenarios, I find Unity somewhat restrictive due to its limited multithreading capabilities in numerous instances despite its Jobs implementation.
I’m currently leaning towards Unreal Engine because it offers a broader range of tools and lower-level access to the engine. Additionally, when examining the types of open-world games developed with Unity versus those with Unreal Engine, it appears that Unity struggles to efficiently distribute workloads to the GPU, heavily relying on the main thread. Games like Rust and Escape from Tarkov serve as prime examples of this limitation.
Conversely, Unreal Engine seems to excel in producing high-performance games that manage vast numbers of objects, titles such as Satisfactory and Days Gone immediately come to mind.
I understand that Unity tends to appeal more to indie developers, which might explain the prevalence of less optimized games. However, even well-established developers like Facepunch encounter significant challenges in optimizing their game for heavy object loads. It’s not rare to find their game Rust barely using half the GPU, even if they have the latest consumer CPU—a notable issue in both Tarkov and 7 Days to Die as well.
Having said that, I also understand that much of how a game turns out depends on the Developer more than the Engine, and the Games I mention were created before DOTS & ECS, and their codebases being well developed would make transition difficult.
My knowledge of Godot, particularly in terms of handling multithreading workloads and how it compares to Unity and Unreal Engine, is limited. I would greatly appreciate any insights or experiences you could share, especially regarding how Godot might suit a project aiming to feature a high density of entities.
Thank you for any insight.