Skip to main content
In development Status checked

c-ecs

An in-development single-header C99 entity-component-system library with caller-owned storage and compile-time capacities for small games and embedded targets.

C ECS Game Development Embedded
Cover image for c-ecs

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

Availability

The source repository provides the header, tests, benchmarks, and reproducible development shell; no public package or release artifact was verified during this audit.

Share this project