# unity-technologies/entitycomponentsystemsamples

**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/unity-technologies-entitycomponentsystemsamples).**

8,127 stars · 1,721 forks · C# · NOASSERTION

## Links

- GitHub: https://github.com/Unity-Technologies/EntityComponentSystemSamples
- awesome-repositories: https://awesome-repositories.com/repository/unity-technologies-entitycomponentsystemsamples.md

## Topics

`auto-vectorisation` `auto-vectorization` `burst` `component` `containers` `csharp` `documentation` `ecs` `entity` `high` `jobs` `multicore` `multicore-processors` `multicore-programming` `native` `performance` `simd` `system` `tutorials` `unity3d`

## Description

This repository is a collection of reference implementations and sample projects demonstrating data-oriented design using the Unity Entities package. It provides a suite of examples for implementing an entity component system that separates game data into components and logic into systems.

The collection includes specialized demonstrations for rendering large volumes of entities via graphics pipelines, implementing high-performance collision and rigid body dynamics through data-oriented physics, and managing multiplayer state synchronization using the network framework for entities. It also provides samples for distributing computationally expensive logic across CPU cores using a parallel job system.

The samples cover a broad range of capabilities, including parallel task processing, networked state replication, and the integration of user interfaces with data-oriented logic.

## Tags

### Game Development

- [Entity Component Systems](https://awesome-repositories.com/f/game-development/engine-architecture/entity-component-systems.md) — Provides reference implementations of the Entity Component System architectural pattern for game development.
- [Entity Component System Samples](https://awesome-repositories.com/f/game-development/entity-component-system-samples.md) — Provides a collection of reference implementations demonstrating data-oriented design via the Unity Entities package.
- [Architectural Patterns](https://awesome-repositories.com/f/game-development/data-oriented-design-libraries/architectural-patterns.md) — Demonstrates how to organize game state into contiguous memory blocks to maximize processing speed.
- [Game Design Patterns](https://awesome-repositories.com/f/game-development/data-oriented-design-libraries/game-design-patterns.md) — Organizes game data into components and logic into systems to optimize CPU processing speed.
- [Implementation Patterns](https://awesome-repositories.com/f/game-development/data-oriented-design-libraries/implementation-patterns.md) — Arranges objects as entities and components to optimize memory usage and increase processing speed. ([source](https://github.com/unity-technologies/entitycomponentsystemsamples#readme))
- [Parallel Job Systems](https://awesome-repositories.com/f/game-development/entity-component-system-samples/parallel-job-systems.md) — Demonstrations of distributing computationally expensive game logic across CPU cores using the Unity C# Job System.
- [Entity Rendering Systems](https://awesome-repositories.com/f/game-development/entity-rendering-systems.md) — Implements specialized graphics pipelines to render massive quantities of data-oriented entities efficiently. ([source](https://github.com/unity-technologies/entitycomponentsystemsamples#readme))
- [Multiplayer Networking](https://awesome-repositories.com/f/game-development/multiplayer-networking.md) — Provides reference implementations for game state replication and client-server communication using Unity Netcode.
- [Netcode Samples](https://awesome-repositories.com/f/game-development/netcode-samples.md) — Examples of multiplayer state synchronization and network communication built on the Unity Netcode for Entities framework.
- [Physics Simulation Engines](https://awesome-repositories.com/f/game-development/physics-simulation-engines.md) — Integrates a physics engine with a data-oriented architecture to handle high-performance motion. ([source](https://github.com/unity-technologies/entitycomponentsystemsamples#readme))
- [Rigid Body Physics Engines](https://awesome-repositories.com/f/game-development/rigid-body-physics-engines.md) — Implements a high-performance rigid body physics engine designed for large entity counts.
- [Data-Oriented Implementations](https://awesome-repositories.com/f/game-development/rigid-body-physics-engines/data-oriented-implementations.md) — Showcases high-performance collision and rigid body dynamics using a data-oriented physics approach.
- [World State Synchronization](https://awesome-repositories.com/f/game-development/world-state-synchronization.md) — Synchronizes game entity states and communication between clients and servers. ([source](https://github.com/unity-technologies/entitycomponentsystemsamples#readme))

### Software Engineering & Architecture

- [Archetype-Based Storage](https://awesome-repositories.com/f/software-engineering-architecture/archetype-based-storage.md) — Implements archetype-based storage to optimize CPU cache hits through linear memory access for entities.
- [Game State Replication](https://awesome-repositories.com/f/software-engineering-architecture/client-server-architectures/game-state-replication.md) — Coordinates entity data across clients and servers to maintain a consistent shared game world.
- [Job-Based Multithreading](https://awesome-repositories.com/f/software-engineering-architecture/job-based-multithreading.md) — Distributes computationally expensive game logic across multiple CPU cores using a parallel job system.
- [Parallel Processing](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/computational-efficiency/parallel-processing.md) — Distributes computationally expensive tasks across multiple CPU cores using a job-based system. ([source](https://github.com/unity-technologies/entitycomponentsystemsamples#readme))

### User Interface & Experience

- [Entity-Based Sync](https://awesome-repositories.com/f/user-interface-experience/diffing-based-state-updates/network-state-delta-updates/entity-based-sync.md) — Coordinates network communication and state updates for multiplayer environments using an entity-based system. ([source](https://github.com/unity-technologies/entitycomponentsystemsamples#readme))

### Graphics & Multimedia

- [Batch Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/gpu-accelerated-ui-rendering/batch-rendering.md) — Provides specialized pipelines for batch rendering to maximize GPU throughput and minimize draw calls.
