Grass Field Rendering

Three layers of grass in Farsight that share the same wind, clouds and colour, built to run on low-end machines.


Rain on Glasses Shader

A single URP screen pass with procedural drops that refract out-of-focus copies of the frame.


Eye Floaters Shader

Procedural strands in a screen pass that lag behind head turns on a spring.


Watching Eyes Shader

Pupils repainted in a lighting-preserving overlay that only move when you are not looking.


Game Boy Dither Shader

Tone mapping, an 8x8 Bayer dither and a five-shade palette.


Procedural Milk Stream

A procedural tube mesh on a ballistic arc, with ripples, foam and floating cereal.


Texture Painting System

Soft stamps composited into erasable and permanent ink layers.


Ray-Marched Fire

A ray-marched volume coloured by temperature.


Wet Footprint Decals

Shoes soak in the rain and leave URP decal prints indoors.


SDF Morphing Icons

SDF shapes that morph from a dot into a glyph as you approach.


How to make a 2D platformer feel good

Jump input buffering, coyote time, corner correction, and other game feel tricks.


2D butterflies with Unity's particle system

A simple tutorial for making cute 2D butterflies with the particle system's texture sheet animation.


Wind particles in Unity

A simple tutorial for making a wind effect with Unity's particle system.


Unity Shader Graph experiments

A collection of my experiments with Unity's Shader Graph.