POSTS

Notes, experiments, and behind-the-scenes from the arcade.

Engineering

A resolver chain for footstep surfaces (and why carved voxels need their own)

Footstep surface identification as a chain of small resolvers. Dig-carved voxel surfaces get a dedicated resolver because the chunk's collider can't answer the question on its own.

READ ›_
Engineering

A three-layer audio architecture on top of Reactive SO

Cue, Request, Service. How I separated audio data, intent, and playback in a Unity package built on Reactive SO's EventChannelSO and FloatVariableSO.

READ ›_
Engineering

Last-input-wins device detection across Godot and Unity

Notes on building a single 'which device did the player just use?' signal in two engines — a Godot simulation project and a Unity InputSystem project — so UI prompts and focus rules can react without per-screen plumbing.

READ ›_
Engineering

An in-editor voxel painter with stroke undo and generated layer gizmos

Notes on the Unity Editor window I built for painting Marching Cubes terrain: stroke-level Undo, a Y-plane mode for editing buried layers, and reference-layer Gizmos generated from the voxel grid instead of hardcoded.

READ ›_
Engineering

Fixing mesh holes in my Marching Cubes voxel terrain

I ported a Marching Cubes voxel digger from one Unity prototype into the next and watched it grow holes whenever the player dug at an off-grid height. Here's the algorithm swap that closed them, plus the editor workflow I built to iterate on the fix.

READ ›_
Engineering

Godot as a gimmick sketchpad: two weeks of prototypes, then back to Unity

Sandbox_003 was a deliberate stretch where I forced every gimmick into Godot 4.6 + C# for two weeks. The point was speed of prototyping, and the gimmicks fed straight back into my Unity projects.

READ ›_
Engineering

WebPublishTools: An Editor Window for unityroom-Ready WebGL Builds in Unity

A Unity Editor window that validates WebGL Player Settings against a publish profile and applies each setting one click at a time. The unityroom profile ships out of the box, itch.io is on the roadmap.

READ ›_
Engineering

Syncing ScriptableObjects to Shaders in Unity

How I added automatic GPU synchronization from ScriptableObject variables to shader globals in Unity — so compute shaders and custom shaders can read gameplay state without any per-frame bridge code.

READ ›_
Engineering

What is Reactive SO?

An introduction to Reactive SO, a ScriptableObject-based reactive architecture for Unity. Built on Ryan Hipple's Unite Austin 2017 patterns, extended with Reactive Entity Sets, GPU Sync, and dedicated debugging windows.

READ ›_
Engineering

The History of "Ownership" vs "Belonging": From RDB to ECS

The 'belonging' paradigm in state management isn't new — it appears to go back to Codd's relational model in 1970. A short tour through how OOP swung back to 'ownership' and how ECS rediscovered 'belonging' for performance.

READ ›_
Engineering

Unified Memory and the Future of Game Architecture

Working with Metal on Apple Silicon shows what's possible when CPU and GPU share memory. A look at how today's platforms compare and why contiguous, data-oriented layouts matter even more in a Unified Memory world.

READ ›_
Engineering

ReactiveEntitySet: Bringing ECS Insights to GameObject Workflows

Notes from researching EnTT, Entitas, Flecs, Bevy, Svelto, and DOTS — and how ReactiveEntitySet combines Sparse Set storage with reactive change detection to give Unity GameObject projects a pragmatic data-oriented middle ground.

READ ›_
Engineering

Ownership vs Belonging: A New Paradigm for State Management in Unity

ReactiveEntitySet isn't a multi-instance VariableSO — it's an evolution of RuntimeSet. A look at how shifting from 'ownership' to 'belonging' changes memory layout, optimization space, and what state really means in Unity.

READ ›_
Engineering

Why InputActionAsset Stops Working After Scene Transitions (And How to Fix It)

In Unity 6.2+, disabling every UIDocument also disables the InputActionAsset assigned to UI — input quietly dies after a scene transition. Here's why it happens and four ways to fix it.

READ ›_
Engineering

Why ScriptableObject Data Disappears on Scene Transitions (And How to Fix It)

Non-serialized fields on Unity ScriptableObjects vanish when the asset is unloaded between scenes. Here's the RuntimeInitializeOnLoadMethod-based pattern I used to fix it during a Unity 1 Week Game Jam.

READ ›_