Friflo.Engine.ECS
3.5.0
Prefix Reserved
dotnet add package Friflo.Engine.ECS --version 3.5.0
NuGet\Install-Package Friflo.Engine.ECS -Version 3.5.0
<PackageReference Include="Friflo.Engine.ECS" Version="3.5.0" />
<PackageVersion Include="Friflo.Engine.ECS" Version="3.5.0" />
<PackageReference Include="Friflo.Engine.ECS" />
paket add Friflo.Engine.ECS --version 3.5.0
#r "nuget: Friflo.Engine.ECS, 3.5.0"
#:package Friflo.Engine.ECS@3.5.0
#addin nuget:?package=Friflo.Engine.ECS&version=3.5.0
#tool nuget:?package=Friflo.Engine.ECS&version=3.5.0
Friflo.Engine.ECS
High Performance C# ECS - Entity Component System.
The ECS for finishers đ
Feature highlights
- Simple API - no boilerplate, rock-solid đż and bulletproof đĄïž
- High-performance đ„ compact ECS
- Low memory footprint đŁ. Create 100.000.000 entities in 1.5 sec
- Zero ⊰ allocations after buffers are large enough. No struct boxing
- High performant / type-safe queries â
- Efficient multithreaded queries â¶
- Entity component Search in O(1) â
- Fast batch / bulk operations â©
- Command buffers / deferred operations âïž
- Entity relationships and relations â
- Entity hierarchy / tree âȘȘ
- Fully reactive / entity events âĄ
- Systems / System groups âïž
- Watch entities, components, relations, tags, query results, systems, ... in debugger đ
- JSON Serialization đż
- SIMD Support đ§ź
- Supports .NET Standard 2.1 .NET 5 .NET 6 .NET 7 .NET 8
WASM / WebAssembly, Unity (Mono, AOT/IL2CPP, WebGL), Godot, MonoGame, ... and Native AOT - 100% secure C# đ. No unsafe code, native dll bindings and access violations. See Wiki â Library.
More at GitHub README.md
What is an ECS?
An entity-component-system (ECS) is a software architecture pattern. See ECS â
Wikipedia.
It is often used in the Gaming industry - e.g. Minecraft - and used for high performant data processing.
An ECS provide two strengths:
It enables writing highly decoupled code. Data is stored in Components which are assigned to objects - aka Entities - at runtime.
Code decoupling is accomplished by dividing implementation in pure data structures (Component types) - and code (Systems) to process them.It enables high performant system execution by storing components in continuous memory to leverage CPU caches L1, L2 & L3.
It improves CPU branch prediction by minimizing conditional branches when processing components in tight loops.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Friflo.Json.Fliox (>= 1.0.4)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.0)
-
net6.0
- Friflo.Json.Fliox (>= 1.0.4)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.0)
-
net7.0
- Friflo.Json.Fliox (>= 1.0.4)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.0)
-
net8.0
- Friflo.Json.Fliox (>= 1.0.4)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Friflo.Engine.ECS:
| Package | Downloads |
|---|---|
|
Friflo.Engine.ECS.Boost
Entity Component System - ECS - optimized for performance and cache locality |
|
|
Friflo.EcGui
ImGui based GUI to explore, filter, sort and edit entity stores, queries and systems of friflo ECS at runtime. |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on Friflo.Engine.ECS:
| Repository | Stars |
|---|---|
|
friflo/Friflo.Json.Fliox
C# ORM - High Performance, SQL, NoSQL, Messaging, Pub-Sub
|
|
|
Doraku/Ecs.CSharp.Benchmark
Benchmarks of some C# ECS frameworks.
|
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 3.5.0 | 128 | 3/9/2026 | |
| 3.4.2 | 4,217 | 5/21/2025 | |
| 3.4.1 | 257 | 5/20/2025 | |
| 3.4.0 | 250 | 5/20/2025 | |
| 3.3.2 | 403 | 5/14/2025 | |
| 3.3.1 | 333 | 5/14/2025 | |
| 3.3.0 | 456 | 4/29/2025 | |
| 3.2.3 | 3,229 | 3/4/2025 | |
| 3.2.2 | 337 | 3/3/2025 | |
| 3.2.1 | 642 | 2/20/2025 | |
| 3.2.0 | 484 | 2/18/2025 | |
| 3.1.0 | 375 | 2/13/2025 | |
| 3.0.4 | 490 | 2/2/2025 | |
| 3.0.3 | 241 | 1/31/2025 | |
| 3.0.2 | 234 | 1/26/2025 | |
| 3.0.1 | 293 | 1/11/2025 | |
| 3.0.0 | 707 | 12/15/2024 | |
| 3.0.0-preview.19 | 183 | 12/9/2024 | |
| 3.0.0-preview.18 | 448 | 12/2/2024 | |
| 3.0.0-preview.17 | 162 | 11/29/2024 |