Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Game Engine Development
  3. Edyn

Edyn

MITC++v1.3.1

A real-time physics engine organized as an Entity-Component System (ECS) using EnTT, designed for multi-threaded and networked simulation.

GitHubGitHub
779 stars35 forks0 contributors

What is Edyn?

Edyn is a real-time physics engine organized as an Entity-Component System (ECS) using the EnTT library. It simulates rigid body dynamics, collision detection, and constraints in multi-threaded and networked environments. The engine is designed to handle large dynamic worlds efficiently, making it suitable for games and simulations requiring scalable physics.

Target Audience

Game developers and simulation engineers working with C++ and ECS architectures who need a performant, multi-threaded physics engine with networking capabilities.

Value Proposition

Developers choose Edyn for its deep integration with ECS via EnTT, built-in multi-threading and networked physics support, and flexibility in defining physics objects through components, offering a modern alternative to traditional physics engines.

Overview

Edyn is a real-time physics engine organized as an ECS.

Use Cases

Best For

  • Multi-threaded physics simulation in large game worlds
  • Networked multiplayer games requiring synchronized physics
  • ECS-based game engines using EnTT
  • Simulations with complex rigid body interactions and constraints
  • Projects needing customizable collision detection with various shape types
  • Developing ragdoll physics or vehicle dynamics

Not Ideal For

  • Projects not using the EnTT ECS library or entity-component architectures
  • Simple 2D games or rapid prototypes where lightweight engines like Box2D are more appropriate
  • Teams preferring visual editors and drag-and-drop physics setup over code-centric configuration

Pros & Cons

Pros

Deep ECS Integration

Uses EnTT to define physics objects implicitly through components, enabling seamless integration with existing ECS workflows and easy addition of custom components, as shown in rigid body creation examples.

Multi-threaded Performance

Designed for parallel simulation using islands and background worker threads, making it efficient for large dynamic worlds with many entities without manual threading effort.

Networked Physics Built-in

Provides a client-server model with client-side extrapolation and server-side state application, reducing the need for custom network synchronization code in multiplayer games.

Extensive Shape Library

Supports spheres, cylinders, capsules, boxes, convex polyhedra, and more, with specialized narrow-phase collision detection for complex interactions.

Cons

Complex Build Process

Requires Conan 2.0, CMake 3.23+, and platform-specific steps like linking winmm.lib on Windows, adding significant integration overhead compared to drop-in libraries.

Manual Change Propagation

Developers must explicitly notify Edyn of component changes using edyn::refresh() or dirty components, increasing the risk of synchronization errors if overlooked.

Steep Learning Curve

Heavy reliance on EnTT and ECS concepts makes it challenging for developers not already familiar with entity-component systems, limiting accessibility.

Frequently Asked Questions

Quick Stats

Stars779
Forks35
Contributors0
Open Issues2
Last commit19 days ago
CreatedSince 2019

Tags

#simulation#collision-detection#entt#game-development#ecs#multi-threaded#physics-simulation#c-plus-plus-17#rigid-body-dynamics#entity-component-system#physics-engine

Built With

C
CMake
C
Conan
C
C++17
E
EnTT

Included in

Game Engine Development1.3k
Auto-fetched 14 hours ago

Related Projects

C/C++C/C++

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Stars71,948
Forks8,298
Last commit24 days ago
ProtoBufProtoBuf

Protocol Buffers - Google's data interchange format

Stars71,388
Forks16,165
Last commit13 hours ago
JSON for Modern C++JSON for Modern C++

JSON for Modern C++

Stars49,996
Forks7,409
Last commit1 day ago
BlazorBlazor

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

Stars38,146
Forks10,717
Last commit13 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub