The artistic pipeline of Spiritfarer: 2D animation and dynamic lighting in Unity

Published on May 27, 2026 | Translated from Spanish

Spiritfarer, the acclaimed management and exploration title about death and farewell, conquered players not only with its emotional narrative but also with a visual style that looks like a moving painting. Behind this fairy-tale aesthetic lies a very specific hybrid technical pipeline. The team at Thunder Lotus Games combined the warmth of traditional 2D animation with a dynamic real-time lighting system within Unity, allowing the ship and its landscapes to change mood according to the time of day without losing their pictorial essence. 🎨

Screenshot of Spiritfarer showing the dynamically lit ship with 2D animation and fairy-tale landscapes

Toon Boom Harmony and Photoshop: The Hybrid Workflow 🖌️

To achieve the fluidity of the characters, the studio used Toon Boom Harmony, a professional vector and traditional animation tool. Here, Stella, Daffodil, and the rest of the spirits were rigged and animated, maintaining a reduced frame rate (12 fps) to emulate the classic style of 1990s feature films. On the other hand, the backgrounds and the ship were painted entirely in Adobe Photoshop, with organic textures and digital brushes simulating watercolor. The biggest technical challenge was integrating these static backgrounds into Unity and then overlaying a dynamic lighting layer. The engine applied a global color gradient that darkened the painted backgrounds at sunset, while the character sprites maintained their original color thanks to custom shader materials that ignored ambient light, thus preserving the consistency of the 2D art.

Lessons for Indie Developers: When Technique Serves Emotion 💡

Spiritfarer demonstrates that a hyper-realistic engine is not necessary to create visual impact. The decision to separate the character pipeline (traditional animation) from the background pipeline (static illustration) allowed the team to focus their resources on the expressiveness of the dialogues and the visual comfort of the backgrounds. For any indie developer, this case study reinforces a key maxim: technology must bend to the artistic direction, and not the other way around. Using simple shaders to isolate characters from global lighting or synchronizing day and night cycles through lightweight C# scripts are accessible solutions that any small studio can replicate to bring worlds with their own soul to life.

How did the Spiritfarer team manage to integrate traditional 2D animation with a dynamic lighting system in Unity without affecting performance in scenes with multiple characters and real-time lighting effects?

(PS: optimizing for mobile is like trying to fit an elephant into a Mini Cooper)