Dredge in Unity: how Yarn Spinner and water shaders create narrative horror

Published on May 22, 2026 | Translated from Spanish

The video game Dredge demonstrates that the Unity engine can host atmospheric horror experiences without relying on photorealistic graphics. Its secret lies in a precise combination of tools: a dialogue system based on Yarn Spinner for emergent narrative and custom water shaders that transform an idyllic sea into a visual trap. This technical analysis breaks down how these elements integrate to conceal dangers beneath the surface.

Screenshot of Dredge showing a boat on a dark sea with lighthouse lights and dense fog

Water shaders and the dynamic concealment layer 🌊

The development team implemented a water shader in Unity that not only simulates waves and reflections but also acts as a visibility filter. When the player sails calmly, the water is crystal clear; at nightfall or when approaching creatures, the shader increases turbidity and distortion. This effect is achieved using a heightmap that blends with the seabed texture, created in Photoshop. Textures of algae and shipwreck remains are painted with layers of variable opacity, allowing the shader to reveal or conceal them depending on the game state. Thus, the Unity engine renders an ocean that shifts from idyllic to terrifying without needing to load additional assets.

Yarn Spinner as an engine of narrative tension 🎣

Dredge uses Yarn Spinner to manage dialogues and the protagonist's journal notes. Instead of simple text windows, the system triggers changes in the water shader when the player receives information about a creature. For example, upon reading a report about a Leviathan, Yarn Spinner sends a variable to Unity that darkens the nearby water, generating anxiety before the monster appears. This workflow, which connects the narrative script with the ocean material properties, demonstrates how a dialogue engine can directly influence the game's visual atmosphere.

How Yarn Spinner integrates horror narrative with water shaders in Unity to intensify the feeling of isolation in Dredge without resorting to hyperrealistic models

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