Memory Arenas in Game Code: Fast Scratch Space, Not a General Allocation Strategy
How I use arena allocators for frame-local scratch data, why they beat per-object frees, and why they are not a replacement for pooling or the GC.
How I use arena allocators for frame-local scratch data, why they beat per-object frees, and why they are not a replacement for pooling or the GC.
A practical guide to calling HTTP APIs from game code without making retries, auth, or failure handling a mess.
A practical look at LINQ in Unity, where the allocations come from, and when a zero-allocation alternative like ZLinq is worth using.
A practical way to move hot data off the managed heap with NativeArray, NativeList, jobs, and Burst without turning the project into DOTS cosplay.
A practical way to use event buses in Unity without turning them into hidden global state, leaky subscriptions, or another way to avoid design decisions.
A practical way to keep Unity state machines readable when several states share the same rules.
A practical look at the command pattern in game code, with examples for input, undo, replay, and when a direct call is still better.
2026.07.24
A practical rewrite of Lode's raycasting tutorial, with the same core ideas and images explained in cleaner prose.
A practical follow-up to async in Unity: how cancellation tokens keep loading flows, delays, and background work from hanging around after the object is gone.
A practical way to structure Mirror games so the server owns the rules, clients send intent, and state sync stays boring.