finds.dev← search

// the find

genaray/Arch

★ 1,735 · C# · Apache-2.0 · updated Nov 2025

A high-performance C# based Archetype & Chunks Entity Component System (ECS) with optional multithreading.

Arch is an archetype-based ECS for C# targeting game development, using 16KB contiguous memory chunks to maximize cache locality during iteration. It's for C# game developers on Unity, Godot, or MonoGame who want ECS performance without reaching for a C++/Rust engine. Space Station 14 using it in production is the strongest signal that it holds up under real load.

The 16KB chunk design is the right call — it keeps component data contiguous and iteration tight, which is why it benchmarks competitively with C++/Rust implementations. The T4 template-generated generic overloads (up to 25 type parameters) mean zero boxing and no virtual dispatch in the hot path. CommandBuffers for deferred structural changes are included out of the box, which is the thing most ECS newcomers get burned by first. The Arch.Extended ecosystem adds source generators and system scheduling so you're not building all the scaffolding yourself.

Still on 2.1.0-beta as of the last push — the version number signals instability and the API has broken between releases before, which is a real adoption risk for anything beyond a game jam. The non-generic API is an afterthought; if you need runtime-dynamic component types (e.g. scripting, modding), you'll fight the design. Multithreaded queries hand you the parallelism but give you no help with write-write hazards — race conditions are your problem to solve. No built-in serialization for world state, so save/load or netcode requires you to roll your own or find a third-party extension.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →