Friflo.Engine.ECS
3.0.1
Prefix Reserved
See the version list below for details.
dotnet add package Friflo.Engine.ECS --version 3.0.1
NuGet\Install-Package Friflo.Engine.ECS -Version 3.0.1
<PackageReference Include="Friflo.Engine.ECS" Version="3.0.1" />
paket add Friflo.Engine.ECS --version 3.0.1
#r "nuget: Friflo.Engine.ECS, 3.0.1"
// Install Friflo.Engine.ECS as a Cake Addin #addin nuget:?package=Friflo.Engine.ECS&version=3.0.1 // Install Friflo.Engine.ECS as a Cake Tool #tool nuget:?package=Friflo.Engine.ECS&version=3.0.1
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. |
.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.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.0)
-
net6.0
- Friflo.Json.Fliox (>= 1.0.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.0)
-
net7.0
- Friflo.Json.Fliox (>= 1.0.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.0)
-
net8.0
- Friflo.Json.Fliox (>= 1.0.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Friflo.Engine.ECS:
Package | Downloads |
---|---|
Friflo.Engine.ECS.Boost
Entity Component System - ECS - optimized for performance and cache locality |
GitHub repositories (3)
Showing the top 3 popular GitHub repositories that depend on Friflo.Engine.ECS:
Repository | Stars |
---|---|
friflo/Friflo.Engine.ECS
High-performance C# ECS
|
|
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.0.2 | 34 | 1/26/2025 | |
3.0.1 | 151 | 1/11/2025 | |
3.0.0 | 305 | 12/15/2024 | |
3.0.0-preview.19 | 95 | 12/9/2024 | |
3.0.0-preview.18 | 371 | 12/2/2024 | |
3.0.0-preview.17 | 75 | 11/29/2024 | |
3.0.0-preview.16 | 110 | 11/22/2024 | |
3.0.0-preview.15 | 77 | 11/19/2024 | |
3.0.0-preview.14 | 423 | 11/12/2024 | |
3.0.0-preview.13 | 829 | 8/26/2024 | |
3.0.0-preview.12 | 131 | 8/18/2024 | |
3.0.0-preview.11 | 231 | 8/11/2024 | |
3.0.0-preview.10 | 135 | 8/8/2024 | |
3.0.0-preview.9 | 80 | 8/8/2024 | |
3.0.0-preview.8 | 76 | 8/8/2024 | |
3.0.0-preview.7 | 165 | 7/31/2024 | |
3.0.0-preview.6 | 220 | 7/25/2024 | |
3.0.0-preview.5 | 86 | 7/22/2024 | |
3.0.0-preview.4 | 117 | 7/21/2024 | |
3.0.0-preview.3 | 107 | 7/20/2024 | |
3.0.0-preview.2 | 172 | 7/7/2024 | |
3.0.0-preview.1 | 130 | 6/26/2024 | |
2.2.0 | 369 | 6/24/2024 | |
2.1.0 | 129 | 6/19/2024 | |
2.0.0 | 201 | 6/10/2024 | |
2.0.0-preview.9 | 91 | 6/9/2024 | |
2.0.0-preview.8 | 97 | 6/8/2024 | |
2.0.0-preview.7 | 98 | 6/6/2024 | |
2.0.0-preview.6 | 101 | 6/5/2024 | |
2.0.0-preview.5 | 94 | 6/4/2024 | |
2.0.0-preview.4 | 115 | 5/31/2024 | |
2.0.0-preview.3 | 111 | 5/29/2024 | |
2.0.0-preview.2 | 122 | 5/22/2024 | |
2.0.0-preview.1 | 100 | 5/21/2024 | |
1.28.0 | 263 | 4/3/2024 | |
1.27.0 | 179 | 4/3/2024 | |
1.26.0 | 192 | 3/31/2024 | |
1.25.0 | 211 | 3/26/2024 | |
1.24.0 | 194 | 3/13/2024 | |
1.23.0 | 224 | 2/29/2024 | |
1.22.0 | 188 | 2/28/2024 | |
1.21.0 | 162 | 2/27/2024 | |
1.20.0 | 174 | 2/27/2024 | |
1.19.0 | 157 | 2/26/2024 | |
1.18.0 | 195 | 2/24/2024 | |
1.17.0 | 175 | 2/19/2024 | |
1.16.0 | 202 | 2/15/2024 | |
1.15.0 | 204 | 2/13/2024 | |
1.14.0 | 575 | 2/11/2024 | |
1.13.0 | 200 | 2/1/2024 | |
1.12.0 | 173 | 1/31/2024 | |
1.11.0 | 151 | 1/30/2024 | |
1.10.0 | 155 | 1/28/2024 | |
1.9.9 | 173 | 1/25/2024 | |
1.9.8 | 181 | 1/23/2024 | |
1.9.7 | 170 | 1/22/2024 | |
1.9.6 | 170 | 1/21/2024 | |
1.9.5 | 163 | 1/20/2024 | |
1.9.4 | 168 | 1/19/2024 | |
1.9.3 | 174 | 1/17/2024 | |
1.9.2 | 172 | 1/17/2024 | |
1.9.1 | 173 | 1/17/2024 | |
1.9.0 | 163 | 1/16/2024 | |
1.8.0 | 172 | 1/15/2024 | |
1.7.0 | 166 | 1/14/2024 | |
1.6.0 | 167 | 1/14/2024 | |
1.5.0 | 173 | 1/14/2024 | |
1.4.0 | 160 | 1/13/2024 | |
1.3.0 | 177 | 1/13/2024 | |
1.2.0 | 157 | 1/12/2024 | |
1.1.0 | 168 | 1/12/2024 | |
1.0.0 | 162 | 1/11/2024 | |
0.3.0 | 174 | 1/11/2024 | |
0.2.0 | 167 | 1/11/2024 | |
0.1.0 | 204 | 1/11/2024 |