huodianyan / Poly.ArcEcs

A minimal archetypal ECS focused on compatibility and performance.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ArcEcs

A minimal archetypal ECS focused on compatibility and performance.

Features

  • Zero dependencies
  • Minimal ECS core
  • Lightweight and fast
  • Zero/small memory allocations/footprint
  • Struct based Entity/Component
  • Entity/Component managed by archetypes and archetypal graph
  • Query traverse archetype, No entity cache
  • 255 components, unlimited entity, archetype, query, system
  • Support Remove component (eg. event) in the end of the world system update
  • Adapted to all C# game engine
  • Support Web by same framework*
  • Support serialzation, network*

Table of content

Installation

Overview

struct CompA { public int Value; }
struct CompB { public int Value; }

var world = new World();
world.CreateEntity<CompA, CompB>();

var queryDesc = world.CreateQueryDesc().WithAll<CompA>().WithNone<CompB>().Build();
var query = world.GetQuery(queryDesc);
query.ForEach((int entity, ref CompA compA) =>
{
    compA.Value++;
});

world.Dispose();

Entity

Component

System

Query

Archetype

Extensions

License

The software is released under the terms of the MIT license.

FAQ

References

Documents

Projects

Benchmarks

Tech Docs

About

A minimal archetypal ECS focused on compatibility and performance.


Languages

Language:C# 100.0%