Tech Blog

Technical deep-dives, workflow breakdowns, and thoughts on game development — from shaders and VFX to tools and optimization.


Normal map visualization showing surface detail on a low-poly mesh

Normals Explained: From Surface Math to Normal Maps

Shaders Textures
March 4, 2026  ·  13 min read

That blue-purple texture in the Normal slot is storing direction vectors, not colour. Here's how normals drive lighting, backface culling, collision, and reflections — and what a normal map is actually doing under the hood.

Channel packing hero

Channel-Packing Textures: Fitting More Into Less Memory

Optimization Textures
February 26, 2026  ·  8 min read

Most surface data — roughness, metallic, AO, masks — is greyscale. There’s no reason it needs its own texture. Here’s how ORM packing works, why it matters beyond mobile, and a field guide to every greyscale map you’ll encounter.

UMG optimization hero

Flattening UMG Hierarchies with Materials

Optimization UI
April 8, 2025  ·  10 min read

Nested widget hierarchies in UMG quietly eat into your frame budget. Here’s the technique I used on Desert Revenant to cut widget count and draw batches by consolidating decorative layers into a single material.