C-ECS: c99 header-only ECS for games

_simian1 pts0 comments

c-ecs

Skip to main content

Overview

c-ecs is a compact entity-component-system library for small games, toys, and embedded-style programs where allocation and runtime machinery need to stay predictable.

It ships as a single C99 header, uses caller-owned memory, and leans on compile-time capacities instead of heap allocation. The goal is to make the common ECS workflow feel straightforward without bringing in a framework-sized dependency.

Features

Drop-in cecs.h single-header library

No heap allocation or external dependencies

Compile-time capacities for entities, components, resources, and systems

Type-aware macros for component storage and queries

Inline query iteration without callback indirection

Small presets for constrained targets

Technology Stack

C99

Make-based test and benchmark targets

Nix flake for reproducible development shells

Share this project

header allocation games component library small

Related Articles