Sonic Rumble: Unity Optimization for Thirty Two Players at Sixty FPS

Published on May 29, 2026 | Translated from Spanish

Sonic Rumble, the new party game featuring the blue hedgehog, has arrived on Unity with an ambitious technical premise: maintaining stable 60 FPS with 32 simultaneous players on screen. To achieve this, the team has used simplified character models, bright shaders, and highly optimized animations. This article breaks down the rendering and memory management techniques employed, offering a roadmap for indie developers seeking high performance without sacrificing a vibrant visual style.

Sonic Rumble multiplayer Unity optimized 32 players 60 FPS simplified models bright shaders

Low-Poly Models and Unlit Shaders as the Performance Foundation 🎮

The key to performance in Sonic Rumble lies in reducing GPU load. The characters use low-poly models with an extremely low polygon count, similar to games from the Dreamcast era but with a modern finish. Instead of complex materials with dynamic lighting, the game uses simplified Unlit or Lit shaders with color gradient textures (ramps). This eliminates the need for per-pixel lighting calculations. Animations, created in Blender, are compressed using curve reduction techniques and played back via Animator Controller with direct transition states, avoiding complex blends. For the UI, Adobe Illustrator generates vector textures that are rasterized at fixed resolutions, minimizing Canvas overhead in Unity.

Indie Lessons for a Lag-Free Party Game 🚀

For an indie studio, the lesson from Sonic Rumble is clear: optimization starts in art, not code. Using a cartoon style with solid colors allows for cheap shaders and low-resolution models without looking ugly. It is crucial to limit the use of real-time lights and dynamic shadows, replacing them with flat shadows or decals. Additionally, network management in Unity should prioritize local movement (client authority) so that animation feels smooth even with latency. If your game aims to be a multiplayer party game, sacrificing geometric detail for a vibrant color palette and fast animations is the safest path to 60 FPS.

Considering that Sonic Rumble aims to maintain 60 FPS with 32 players in Unity, which optimization techniques, such as using the Job System and Burst Compiler, proved more decisive in reducing network latency and rendering overhead in massive multiplayer matches?

(PS: game jams are like weddings: everyone is happy, no one sleeps, and you end up crying)