# sschmid/entitas-csharp

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/sschmid-entitas-csharp).**

7,655 stars · 1,132 forks · C# · MIT

## Links

- GitHub: https://github.com/sschmid/Entitas-CSharp
- awesome-repositories: https://awesome-repositories.com/repository/sschmid-entitas-csharp.md

## Description

Entitas-CSharp is a data-oriented architectural framework for managing application state and logic in C# and Unity environments. It implements the Entity Component System pattern to separate raw data components from the logic systems that process them.

The framework includes a code generator that automatically produces type-safe boilerplate classes and methods at build time. It also provides a visual state inspector for examining entities and components in real time within the Unity editor.

The library covers data-oriented programming and game state debugging, utilizing a memory-efficient approach to organize application data and logic.

## Tags

### Game Development

- [Entity Component Systems](https://awesome-repositories.com/f/game-development/engine-architecture/entity-component-systems.md) — Provides a full Entity Component System framework for managing game state with high-performance data-oriented design.
- [Game Development](https://awesome-repositories.com/f/game-development.md) — Designed for building high-performance games in Unity using a data-oriented architecture.
- [Data-Oriented Design Libraries](https://awesome-repositories.com/f/game-development/data-oriented-design-libraries.md) — Implements a data-oriented programming library that separates state from logic for maximum performance.
- [State Debugging Tools](https://awesome-repositories.com/f/game-development/game-internal-state-visualizers/state-debugging-tools.md) — Allows real-time visual inspection of entities and components to identify and fix bugs in the running game.

### Software Engineering & Architecture

- [Data-Oriented Component Storage](https://awesome-repositories.com/f/software-engineering-architecture/data-oriented-component-storage.md) — Stores component data in flat arrays to ensure cache-friendly memory access and high performance during iteration.
- [Code Generators](https://awesome-repositories.com/f/software-engineering-architecture/code-generators.md) — Includes a code generator that produces type-safe boilerplate to ensure consistency and reduce errors.
- [Reactive System Triggering](https://awesome-repositories.com/f/software-engineering-architecture/reactive-system-triggering.md) — Automatically executes logic systems when specific component values change or entities are added to groups.

### Data & Databases

- [State Inspection Interfaces](https://awesome-repositories.com/f/data-databases/application-state-management/state-inspection-interfaces.md) — Exposes the internal entity database to a real-time editor interface for debugging application state.

### Development Tools & Productivity

- [Boilerplate Generators](https://awesome-repositories.com/f/development-tools-productivity/code-generators/boilerplate-generators.md) — Automatically generates type-safe boilerplate classes and methods at build time to eliminate repetitive manual coding.
- [Bitmask Filtering](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/programming-logic-libraries/entity-filtering-tools/bitmask-filtering.md) — Implements efficient entity identification using integer bitmasks to quickly find entities with specific component sets.
- [State Inspectors](https://awesome-repositories.com/f/development-tools-productivity/state-inspectors.md) — Ships a visual inspector for real-time examination of entities and components within the Unity editor.

### Part of an Awesome List

- [Design Patterns and Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/design-patterns-and-frameworks.md) — Provides an entity component system framework.
- [Programming Languages](https://awesome-repositories.com/f/awesome-lists/devtools/programming-languages.md) — Supports the entity component system framework for C#.
