Massive Hordes and Persistence in UE4: The Case of Starship Troopers

Published on May 30, 2026 | Translated from Spanish

The development of Starship Troopers: Extermination represents a fascinating technical challenge for any studio: achieving hundreds of bugs moving, dying, and remaining on the stage without collapsing performance. We analyze how Unreal Engine 4 manages this madness through actor pooling systems, dynamic Level Streaming, and physics optimization. Additionally, we explore the pipeline from Blender and Substance to the engine, where each asset is prepared to withstand the pressure of a real-time total war.

Gameplay screenshot of Starship Troopers Extermination with hundreds of bugs on screen and persistent bodies on the ground

Asset pipeline and optimization for massive rendering 🛠️

The workflow begins in Blender, where bug models are designed with an extremely low polygon count, prioritizing recognizable silhouettes over microscopic details. Then, Substance Painter generates textures that share normal and roughness maps in material atlases, reducing draw calls. Upon reaching Unreal Engine 4, a mesh instancing system (Instanced Static Meshes) is implemented, allowing dozens of identical bugs to be rendered with a single command to the GPU. For body persistence, a pooling system is used: corpses are not destroyed but are deactivated and reused after a configurable lifetime, while their physics are simplified to capsule or sphere collisions to avoid the cost of simulating individual bones. The result is a battlefield full of remains that does not sacrifice 60 FPS.

Lessons on the balance between spectacle and performance 🧠

The most interesting thing about Extermination is how it demonstrates that the key is not in the most cutting-edge technology, but in the intelligence with which it is applied. Unreal Engine 4 allows massive hordes but demands sacrifices: simplified animations, aggressive LODs, and reduced physics. For developers, this title is a reminder that visual realism must yield to gameplay when dealing with hundreds of enemies on screen. Body persistence, although visually spectacular, only works if planned from the very first asset in Blender.

How does the Starship Troopers: Extermination team manage object persistence and performance when rendering hundreds of enemies simultaneously in Unreal Engine 4 without sacrificing game smoothness?

(PS: shaders are like mayonnaise: if they break, you have to start all over again)