Projects with this topic
-
Data-Driven RTS in Unreal Engine 5
This project started as a portfolio piece for an RTS game but evolved into a performance-focused learning experience. The goal is to create a highly scalable RTS game capable of handling large numbers of units (tens of thousands) with minimal overhead using Unreal Engine 5's Mass Entity and Niagara.
Initially, I used Unreal's Actor and Component systems to develop basic units and commands. However, as the project progressed, I realized that this approach was too resource-heavy for managing large unit counts. To solve this, I switched to Unreal's Mass Entity Framework (ECS), which allows for better performance and scalability by organizing data in a more efficient, parallelizable format. This transition drastically improved performance and made handling large numbers of units feasible.
For visualizing these Mass Entities, I moved away from the default Instanced Static Meshes and opted for Niagara particle systems. This change not only provides better control over visuals but also improves performance. However, integrating Mass Entities with Niagara is a challenge, as there’s little to no documentation on how to pass data between the two systems or make them work together efficiently.
Currently, the project is in its early stages, with the core Mass and Niagara systems being integrated. While some of the basic unit systems and mechanics are in place, much of the work has been focused on developing solutions to bridge Mass and Niagara into a custom hybrid architecture.
Future Goals: Expand the RTS systems, including pathfinding and resource management.
Updated