awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
sschmid avatar

sschmid/Entitas

0
View on GitHub↗
7,658 stars·1,132 forks·C#·MIT·21 views

Entitas

Entitas is a data-oriented Entity Component System framework for Unity. It is designed to separate game state into components and logic into systems, utilizing a data-oriented design to optimize CPU cache usage, memory usage, and processing speed.

The framework includes a C# source code generator that automatically produces boilerplate classes, entity accessors, and context singletons to reduce manual coding. It also provides a Unity editor debugging tool for real-time runtime state visualization, system performance monitoring, and visual entity inspection.

The system manages entity lifecycles through context-based memory segmentation and index-based retrieval for high-speed access. It further optimizes performance using bitmask-based querying and reactive component tracking to process only the specific entities that have changed.

The project also covers network state synchronization and supports loading and saving configuration data via JSON.

Features

  • Entity Component Systems - Provides a high-performance Entity Component System for organizing game state into contiguous memory blocks.
  • Data-Logic Separation - Separates game state into plain data components and logic into systems to optimize CPU cache and memory usage.
  • Entity Search & Indexing - Provides high-speed retrieval of entities via specific identifiers to avoid iterating through the entire entity collection.
  • C# Source Code Generators - Automatically generates boilerplate classes, entity accessors, and context singletons to reduce manual coding.
  • Boilerplate Generators - Automatically produces C# classes and accessors at build time to eliminate manual boilerplate and runtime reflection.
  • Bitmask Filtering - Utilizes high-performance bitmask filtering to quickly identify entities with specific component sets for system processing.
  • Data-Oriented Design Libraries - Implements a data-oriented design that organizes game data into memory pools for CPU cache optimization.
  • Entity Queries - Filters entities based on the presence or absence of specific components to target precise subsets of objects.
  • Game Performance Optimizations - Optimizes game engine performance by utilizing reactive tracking to process only modified entities.
  • Data Access Optimizations - Implements index-based retrieval to ensure high-speed access to entities without full collection searches.
  • Contextual Entity Pools - Divides entities into isolated context-based pools to reduce the memory footprint and scope of logic processing.
  • Component Change Tracking - Tracks modifications to specific components to trigger logic only when data changes, avoiding unnecessary per-frame iterations.
  • Data-Oriented Component Storage - Implements data-oriented storage by attaching plain data objects to entities to separate state from behavior.
  • ECS Libraries - Provides a complete Entity Component System framework that separates game state into components and logic into systems.
  • Unity Game Frameworks - Ships as a framework specifically designed to manage complex object interactions and state within Unity.
  • Data Class Generators - Automatically generates classes and methods to clarify data-logic interactions and reduce manual coding effort.
  • State Visualizations - Offers visual indicators in the editor to debug contexts, entities, and components during execution.
  • Unity Editor Extensions - Provides custom Unity editor extensions for real-time monitoring of entities and system performance.
  • Game Design Patterns - Implements data-oriented architectural patterns to separate game state from behavior for flexible entity creation.
  • ECS Boilerplate Generators - Automatically generates the C# classes and interfaces needed for efficient game entity management.
  • Entity Inspectors - Visual entity inspection in the tool displays entities and components in the editor hierarchy for real-time observation and modification.
  • Game State Synchronization - Implements real-time synchronization of game entity data across network clients to maintain consistent game states.
  • Accessor Generators - Generates simplified interfaces for manipulating entity components based on field configurations to reduce boilerplate.
  • Performance Monitoring - Tracks the execution of logic systems to identify and resolve processing bottlenecks.
  • ECS Frameworks - Fast C# ECS framework.

Star history

Star history chart for sschmid/entitasStar history chart for sschmid/entitas

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Entitas

These projects share indexed features with Entitas. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • sandermertens/flecsSanderMertens avatar

    SanderMertens/flecs

    8,045View on GitHub↗

    Flecs is a high-performance entity component system framework and data-oriented programming library. It serves as a simulation engine core and game engine architecture tool, decoupling state from behavior by separating entities, components, and systems. The framework features a runtime reflection layer for dynamic data inspection and a built-in scripting system for defining entity behavior without recompilation. It also includes a network interface and REST API for remote simulation administration and state querying. The library covers a broad surface of simulation capabilities, including ar

    Cc99cpp11cpp14
    View on GitHub↗8,045
  • sschmid/entitas-csharpsschmid avatar

    sschmid/Entitas-CSharp

    7,655View on GitHub↗

    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 ap

    C#
    View on GitHub↗7,655
  • skypjack/enttskypjack avatar

    skypjack/entt

    12,294View on GitHub↗

    EnTT is a C++ library designed for data-oriented design and entity component system architecture. It provides a framework for managing game objects and simulation states by separating entity data from logic, allowing for the efficient organization and manipulation of large collections of related data objects. The library utilizes sparse sets to store entities and components in contiguous memory, which facilitates cache-friendly iteration and constant-time lookups. It employs template metaprogramming for compile-time type reflection and type-erasure techniques to provide a unified interface fo

    C++architectural-patternscppcpp17
    View on GitHub↗12,294
  • space-wizards/space-station-14space-wizards avatar

    space-wizards/space-station-14

    3,523View on GitHub↗

    Space Station 14 is a C# multiplayer game and roleplay simulation framework. It is built upon an Entity-Component-System (ECS) game engine that separates logic into systems and data into components to manage complex entity interactions. The project functions as a grid-based physics simulator with a YAML data-driven prototype system for defining game objects. The project features a specialized 2D sprite rendering engine that maps server-side appearance data to client-side shaders. It implements a networking model with client-side prediction and dirty-flagged state synchronization to reduce inp

    C#c-sharpgamehacktoberfest
    View on GitHub↗3,523
Compare all 30 related projects→

Frequently asked questions

What does sschmid/entitas do?

Entitas is a data-oriented Entity Component System framework for Unity. It is designed to separate game state into components and logic into systems, utilizing a data-oriented design to optimize CPU cache usage, memory usage, and processing speed.

What are the main features of sschmid/entitas?

The main features of sschmid/entitas are: Entity Component Systems, Data-Logic Separation, Entity Search & Indexing, C# Source Code Generators, Boilerplate Generators, Bitmask Filtering, Data-Oriented Design Libraries, Entity Queries.

Which projects share features with sschmid/entitas?

Projects with overlapping indexed features include: sandermertens/flecs — Flecs is a high-performance entity component system framework and data-oriented programming library. It serves as a… sschmid/entitas-csharp — Entitas-CSharp is a data-oriented architectural framework for managing application state and logic in C# and Unity… skypjack/entt — EnTT is a C++ library designed for data-oriented design and entity component system architecture. It provides a… space-wizards/space-station-14 — Space Station 14 is a C# multiplayer game and roleplay simulation framework. It is built upon an… boomingtech/piccolo — Piccolo is a mini game engine designed for building small-scale games with cross-platform support. It compiles and… unitytechnologies/open-project-1 — This is an open-source 3D action-adventure game project built in Unity, providing a complete game development sample…