Springbound Devlog 2: Creating magical snow
A deep dive into creating magical, fluffy, iridescent snow in Unreal Engine
Hey! I'm Bryce, a solo game developer and creator of Springbound. This is part of a series of deep dives exploring interesting aspects of the game and sharing lessons learned along the way.
Here’s the whole series if you’d like to read more: Springbound Devlogs
Springbound is about transforming a winter wonderland into spring, so snow is a crucial element of the game loop. In fact, snow and snow-covered objects take up almost the entire screen in most parts of the game, so it has to look good!
This post covers my research, learnings, and approach to art direction while developing the snow materials and seasonal transformation system.
Gathering reference and inspiration
I love that phase of osmosis at the beginning of a creative project—when you open yourself up to inspiration in the world and let it find you.
During the early stages of Springbound, as it transitioned from a movement prototype to a full snowy world, I started noticing all the different depictions of snow and winter wonderlands in media and I collected them in one place to figure out what stood out:
I found myself drawn to illustrations of snow—especially from children's books—that depict snow with a cartoon puffiness, making it look soft, magical, and inviting.
At the time I was also thinking a lot about the Bouba/kiki effect and how shape language could distinguish friendly from adversarial pieces of the environment. While snow and ice walls share similar materials, I could use soft forms for the playful snowy areas and sharp forms for the ice barriers in Springbound—creating a visual distinction without needing to explain it explicitly.
I knew my snow needed soft, rounded forms. This foundation gave me the direction I needed to start prototyping!
Snow v1: Soft and fluffy
Here is the first version of this snow that I created:
It looks soft and friendly, with a powdery or slushy texture. This version used UE 5.3 which had just introduced Nanite support for tessellation and displacement maps (this was unsupported in UE 5.0-5.2), and I used this to achieve the real displacement over the actual landscape mesh. The material reads a heightmap I took from a Quixel snow material for displacement and has subsurface scattering enabled with a light blue color.
This version was good enough for the majority of development but I ended up reworking the snow material before release because I had some issues with it:
It’s too white and bright!
Unreal’s automatic exposure tended to blow out the scene whenever snow filled the scene, making everything else dimThe snow piles weren't realistic.
They looked too small and made the ground look rough from a distance. When I tried scaling up the texture, the tiling heightmap became even more obvious.The SSS looked wrong applied to a landscape.
The scattering tended to go too deep and flicker when the snow normal and sun direction became more perpendicular. I investigated why but couldn’t pinpoint the exact cause, but I think Unreal calculates scattering depth differently for landscape meshes.
Settling on a stronger art direction
At this point, I had a better understanding of physical materials and began studying snow materials in other games more critically. Some screenshots I took while playing big games:




Sackboy: A Big Adventure
This glittery snow was one of my main inspirations for the final version!Journey 🥰
Specular highlights do all of the heavy work hereCOD MWIII
Photorealistic reference, some snow glitterIt Takes Two
Saturated color, simplified forms, realistic textures
I also ended up watching the movie Frozen on a flight’s seatback TV and it turned out to be the best reference! I got a few weird looks from my seatmates while I snapped photos of my screen but it was worth it.
This led me down a rabbit hole where I discovered the concept art book The Art of Frozen, which had some wonderful notes on that team’s approach to snow:
“Our snow isn’t just white—it can be whatever color the narrative demands at any given moment for impact. With this white canvas, we can infuse it with blue, green, magenta, or any other hue we choose. I call it the ‘power of white with light.’”
— Michael Giaimo (art director), The Art of Frozen
Later in the same chapter:
“Snow is an opportunity, because it’s a white canvas. It’s a lighter’s dream, in that the lighting is the color. The local color is minimal at best in all these snowscapes, so it’s all about the lighting.”
— Lisa Keene (assistant art director), The Art of Frozen
Wow! Approaching snow as not white but a canvas of color and light opened a new perspective on the visual style of the snow. A narrative goal was to capture a feeling of the “magic of winter”—something missing up to this point. This perspective helped evolve the snow to match the game’s themes and capture this magic!
Snow v2: Magical, fluffy, iridescent
Despite my attempts to add subtle warmth to the blue tint through color grading and yellow sunlight, the snow still felt too cold and sterile. So I shifted the snow’s tint towards purple to add warmth while preserving the winter coldness. Purple also evokes a sense of magic!
I ended up switching to using a texture-based noise for the snow for simplicity and tweakability. I also looked into a different heightmap texture and layering textures with different scales to obscure the tiling pattern, but simplex noise with multiple levels always produced a better result.
The last missing piece was a little bit of extra magic. One piece of inspiration I kept being drawn to was this illustration by Matt Forsythe:
The subtle irridescent colors and patterns in the snow feel so magical! And I kept coming back to the glittery snow from Sackboy:
Using Material Maker, I generated two textures with scattered grids of dots and random hues. These are the foundation of the sparkle effect:


Here's a handy tech art trick: when you have a texture with hue-shifted colors, treating the RGB values as an XYZ vector gives you an almost normalized unit vector!
I used this trick to calculate the normal vectors which create sparkles when sunlight reflects off the snow:
The snow material creates a twinkling emissive effect by cycling through hues, shifting them and masking specific parts of the spectrum to make the dots smoothly fade in and out over time.
And so we arrive at the final look of the snow:
It has soft mounds with deeper color in low parts, and sparkles that reflect light and with subtle iridescence.
Adding to the immersion, as players walk through the snow, their footsteps kick up sparkles that gently drift back down to the snow:
I'm really happy with how this material turned out! The magical feeling really comes to life in this iteration.
Blanketing the entire world in snow
To create an immersive and believable winter wonderland, we need snow that covers every individual object, not just the ground!
In this screenshot, you can see that:
The snow lays on top of the fence and rocks
The snow also goes up the side of the fence posts and naturally blends into the wood material
The snow material logic lives inside an “auto landscape material”—this automatically blends between different material layers (snow and rock in my case) based on the landscape's slope. Below is a visual example. I didn’t specify where the darker cliff sections should be; the material figured this out by detecting how steep the landscape is:
To make the snow material reusable across every object in the game, I extracted the snow material logic from the landscape material into a separate Material Function. This made the logic reusable across multiple Materials in the project—it became its own node with dedicated inputs and outputs. Neat!
I created a master material that most environment objects in the world extend from. This gives every object the ability to have snow on it. Each object's unique material is then added as a Material Layer within an instance of this master material.
Inside the master material, we add on those snow layers:
The snow blends in based on the vertex normal. The more flat the face is, the more snow gets blended in.
Optionally, the snow blends using the vertex color, allowing me to hand-paint the snow layer on the object in Blender
Using Runtime Virtual Textures (RVT), the height and material of the landscape at every point on the map is captured into a large virtual texture. The material reads this texture to smoothly blend from the base material to snow based on the height offset above the landscape. This helps rocks, trees, and ice naturally blend with the snow layer.
I hope you enjoyed this deep dive into developing magical snow for Springbound! Creating this winter wonderland was a journey of artistic and technical experimentation, and each iteration brought us closer to capturing that magical winter feeling we were after.
The final result—with its soft purple tints, twinkling sparkles, and snow coverage—creates a playful, magical environment for players to explore. While there are still things I’d like to improve, I'm happy with how the snow brings the world to life!
In the next post, read about adding interactivity to this snow: