Nivalis: How Unity, Voxels and Ray Tracing Create a Unique Cyberpunk

Published on May 24, 2026 | Translated from Spanish

Nivalis is a cyberpunk life simulator that stands out for its art direction based on voxels, neon, and persistent rain. Developed on a deeply modified version of Unity, the game uses MagicaVoxel for scene modeling and internal tools to manage real-time ray tracing. This approach allows for a low-poly aesthetic but with photorealistic lighting, a technical challenge that few indies manage to balance without sacrificing performance.

Nivalis cyberpunk voxel game with ray tracing in Unity, rain and low-poly neon

Ray Tracing Optimization in Voxel Scenes with Modified Unity 🌧️

The Nivalis team has modified Unity's rendering pipeline to treat each voxel as a lightweight data unit, reducing the load on ray tracing. Instead of using dense polygonal geometry, buildings and objects are constructed with MagicaVoxel blocks, which are converted into hierarchical collision structures in real-time. For rain and neon reflections, a hybrid ray tracing system was implemented: specular reflections are calculated with rays limited to voxel surfaces, while global illumination is partially baked into light textures. This allows ray tracing to work on mid-range hardware, a key lesson for indies: simplify the base geometry so that ray tracing doesn't tank the framerate.

Lessons for Indie Devs: Internal Tools as a Differentiator 🛠️

Nivalis demonstrates that visual success doesn't just depend on expensive assets, but on integrating custom tools into the workflow. The studio created scripts in Unity that directly interpret MagicaVoxel files, allowing iteration on the city without going through a traditional export process. Additionally, they developed a volumetric particle system for rain that interacts with ray tracing, avoiding the use of generic assets. For any indie developer, the key is to invest time in customizing the engine before starting to populate the scene; this ensures that every element, from a neon sign to a puddle, responds coherently to light.

As a developer, what was the biggest technical challenge when integrating ray tracing with a real-time voxel engine to achieve Nivalis's dynamic lighting without sacrificing performance?

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