Last Epoch demonstrates that Unity can be the ideal engine for an ambitious ARPG, as long as the asset pipeline flow is mastered. The game stands out for its elemental effects (fire, ice, lightning) and armor with a level of detail that pays homage to the Diablo-like genre. For an indie developer, understanding how this aesthetic is achieved is key to optimizing performance without sacrificing the project's visual identity.
Workflow: From Blender to Unity with Substance Painter 🛠️
The modeling of Last Epoch's detailed armor begins in Blender, where modular geometry is prioritized to allow combinations between pieces. Each armor segment is exported with clean topology and optimized UV maps. Subsequently, in Substance Painter, PBR textures are applied that simulate materials like worn steel, leather, or enchanted gems. The trick lies in generating mask maps (R, G, B) that are assigned in Unity to different parameters of the Shader Graph. This allows a single base material to vary between a rusty helmet and a shiny breastplate, reducing the number of draw calls. For elemental effects, custom particle systems are used with noise textures and vertex animations, making fire or lightning feel organic without saturating the GPU.
Temporal level design and optimization for multiple eras ⏳
The management of the different temporal eras in Last Epoch is a design challenge that Unity solves through the use of additive scenes. Instead of loading a massive open world, the game loads specific map portions for each era (past, present, future). This allows indie developers to apply the same principle: divide level design into thematic blocks and use occlusion culling to hide assets from other eras. Additionally, when texturing in Substance Painter, it is recommended to create color and wear variations for the same base asset, so that a temple looks intact in one era and ruined in another, all without duplicating the 3D model.
How Last Epoch manages the asset flow between 3D modeling programs and Unity to achieve armor and effects that scale without losing performance in such a dynamic ARPG
(PS: game jams are like weddings: everyone is happy, nobody sleeps, and you end up crying)