diff --git a/documentation/api/DefaultEcs-Command-EntityCommandRecorder-EntityCommandRecorder(int_int).md b/documentation/api/DefaultEcs-Command-EntityCommandRecorder-EntityCommandRecorder(int_int).md
index 6894842b..0cca5c19 100644
--- a/documentation/api/DefaultEcs-Command-EntityCommandRecorder-EntityCommandRecorder(int_int).md
+++ b/documentation/api/DefaultEcs-Command-EntityCommandRecorder-EntityCommandRecorder(int_int).md
@@ -3,11 +3,11 @@
## EntityCommandRecorder(int, int) Constructor
Creates an [EntityCommandRecorder](./DefaultEcs-Command-EntityCommandRecorder.md 'DefaultEcs.Command.EntityCommandRecorder') with a custom default size which can grow to a maximum capacity.
```C#
-public EntityCommandRecorder(int defaultCapacity, int maxCapacity);
+public EntityCommandRecorder(int capacity, int maxCapacity);
```
#### Parameters
-
-`defaultCapacity` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
+
+`capacity` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
The default size of the [EntityCommandRecorder](./DefaultEcs-Command-EntityCommandRecorder.md 'DefaultEcs.Command.EntityCommandRecorder').
@@ -16,8 +16,8 @@ The maximum capacity of the [EntityCommandRecorder](./DefaultEcs-Command-EntityC
#### Exceptions
[System.ArgumentException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentException 'System.ArgumentException')
-[defaultCapacity](#DefaultEcs-Command-EntityCommandRecorder-EntityCommandRecorder(int_int)-defaultCapacity 'DefaultEcs.Command.EntityCommandRecorder.EntityCommandRecorder(int, int).defaultCapacity') cannot be negative.
+[capacity](#DefaultEcs-Command-EntityCommandRecorder-EntityCommandRecorder(int_int)-capacity 'DefaultEcs.Command.EntityCommandRecorder.EntityCommandRecorder(int, int).capacity') cannot be negative.
[System.ArgumentException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentException 'System.ArgumentException')
[maxCapacity](#DefaultEcs-Command-EntityCommandRecorder-EntityCommandRecorder(int_int)-maxCapacity 'DefaultEcs.Command.EntityCommandRecorder.EntityCommandRecorder(int, int).maxCapacity') cannot be negative.
[System.ArgumentException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentException 'System.ArgumentException')
-[maxCapacity](#DefaultEcs-Command-EntityCommandRecorder-EntityCommandRecorder(int_int)-maxCapacity 'DefaultEcs.Command.EntityCommandRecorder.EntityCommandRecorder(int, int).maxCapacity') is inferior to [defaultCapacity](#DefaultEcs-Command-EntityCommandRecorder-EntityCommandRecorder(int_int)-defaultCapacity 'DefaultEcs.Command.EntityCommandRecorder.EntityCommandRecorder(int, int).defaultCapacity').
+[maxCapacity](#DefaultEcs-Command-EntityCommandRecorder-EntityCommandRecorder(int_int)-maxCapacity 'DefaultEcs.Command.EntityCommandRecorder.EntityCommandRecorder(int, int).maxCapacity') is inferior to [capacity](#DefaultEcs-Command-EntityCommandRecorder-EntityCommandRecorder(int_int)-capacity 'DefaultEcs.Command.EntityCommandRecorder.EntityCommandRecorder(int, int).capacity').
diff --git a/documentation/api/DefaultEcs-Command-EntityRecord-RemoveFromChildrenOf(DefaultEcs-Command-EntityRecord).md b/documentation/api/DefaultEcs-Command-EntityRecord-RemoveFromChildrenOf(DefaultEcs-Command-EntityRecord).md
index 6e959548..0a2ecaf5 100644
--- a/documentation/api/DefaultEcs-Command-EntityRecord-RemoveFromChildrenOf(DefaultEcs-Command-EntityRecord).md
+++ b/documentation/api/DefaultEcs-Command-EntityRecord-RemoveFromChildrenOf(DefaultEcs-Command-EntityRecord).md
@@ -2,6 +2,7 @@
### [DefaultEcs.Command](./DefaultEcs-Command.md 'DefaultEcs.Command').[EntityRecord](./DefaultEcs-Command-EntityRecord.md 'DefaultEcs.Command.EntityRecord')
## EntityRecord.RemoveFromChildrenOf(DefaultEcs.Command.EntityRecord) Method
Remove the given [EntityRecord](./DefaultEcs-Command-EntityRecord.md 'DefaultEcs.Command.EntityRecord') corresponding [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') from corresponding [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') parents.
+This command takes 9 bytes.
```C#
public void RemoveFromChildrenOf(in DefaultEcs.Command.EntityRecord parent);
```
diff --git a/documentation/api/DefaultEcs-Command-EntityRecord-RemoveFromParentsOf(DefaultEcs-Command-EntityRecord).md b/documentation/api/DefaultEcs-Command-EntityRecord-RemoveFromParentsOf(DefaultEcs-Command-EntityRecord).md
index c441e862..283c677c 100644
--- a/documentation/api/DefaultEcs-Command-EntityRecord-RemoveFromParentsOf(DefaultEcs-Command-EntityRecord).md
+++ b/documentation/api/DefaultEcs-Command-EntityRecord-RemoveFromParentsOf(DefaultEcs-Command-EntityRecord).md
@@ -2,6 +2,7 @@
### [DefaultEcs.Command](./DefaultEcs-Command.md 'DefaultEcs.Command').[EntityRecord](./DefaultEcs-Command-EntityRecord.md 'DefaultEcs.Command.EntityRecord')
## EntityRecord.RemoveFromParentsOf(DefaultEcs.Command.EntityRecord) Method
Remove the given [EntityRecord](./DefaultEcs-Command-EntityRecord.md 'DefaultEcs.Command.EntityRecord') corresponding [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') from corresponding [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') children.
+This command takes 9 bytes.
```C#
public void RemoveFromParentsOf(in DefaultEcs.Command.EntityRecord child);
```
diff --git a/documentation/api/DefaultEcs-Command-EntityRecord-SetAsChildOf(DefaultEcs-Command-EntityRecord).md b/documentation/api/DefaultEcs-Command-EntityRecord-SetAsChildOf(DefaultEcs-Command-EntityRecord).md
index 85206cb5..26358761 100644
--- a/documentation/api/DefaultEcs-Command-EntityRecord-SetAsChildOf(DefaultEcs-Command-EntityRecord).md
+++ b/documentation/api/DefaultEcs-Command-EntityRecord-SetAsChildOf(DefaultEcs-Command-EntityRecord).md
@@ -2,6 +2,7 @@
### [DefaultEcs.Command](./DefaultEcs-Command.md 'DefaultEcs.Command').[EntityRecord](./DefaultEcs-Command-EntityRecord.md 'DefaultEcs.Command.EntityRecord')
## EntityRecord.SetAsChildOf(DefaultEcs.Command.EntityRecord) Method
Makes it so when given [EntityRecord](./DefaultEcs-Command-EntityRecord.md 'DefaultEcs.Command.EntityRecord') corresponding [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') is disposed, corresponding [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') will also be disposed.
+This command takes 9 bytes.
```C#
public void SetAsChildOf(in DefaultEcs.Command.EntityRecord parent);
```
diff --git a/documentation/api/DefaultEcs-Command-EntityRecord-SetAsParentOf(DefaultEcs-Command-EntityRecord).md b/documentation/api/DefaultEcs-Command-EntityRecord-SetAsParentOf(DefaultEcs-Command-EntityRecord).md
index a5055cd9..60b57258 100644
--- a/documentation/api/DefaultEcs-Command-EntityRecord-SetAsParentOf(DefaultEcs-Command-EntityRecord).md
+++ b/documentation/api/DefaultEcs-Command-EntityRecord-SetAsParentOf(DefaultEcs-Command-EntityRecord).md
@@ -2,6 +2,7 @@
### [DefaultEcs.Command](./DefaultEcs-Command.md 'DefaultEcs.Command').[EntityRecord](./DefaultEcs-Command-EntityRecord.md 'DefaultEcs.Command.EntityRecord')
## EntityRecord.SetAsParentOf(DefaultEcs.Command.EntityRecord) Method
Makes it so when corresponding [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') is disposed, given [EntityRecord](./DefaultEcs-Command-EntityRecord.md 'DefaultEcs.Command.EntityRecord') corresponding [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') will also be disposed.
+This command takes 9 bytes.
```C#
public void SetAsParentOf(in DefaultEcs.Command.EntityRecord child);
```
diff --git a/documentation/api/DefaultEcs-Components-T--this-DefaultEcs-Entity-.md b/documentation/api/DefaultEcs-Components-T--this-DefaultEcs-Entity-.md
new file mode 100644
index 00000000..227e8d3b
--- /dev/null
+++ b/documentation/api/DefaultEcs-Components-T--this-DefaultEcs-Entity-.md
@@ -0,0 +1,14 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs](./DefaultEcs.md 'DefaultEcs').[Components<T>](./DefaultEcs-Components-T-.md 'DefaultEcs.Components<T>')
+## Components<T>.this[DefaultEcs.Entity] Property
+Gets the component of type [T](./DefaultEcs-Components-T-.md#DefaultEcs-Components-T--T 'DefaultEcs.Components<T>.T') on the provided [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity').
+```C#
+public ref T this[DefaultEcs.Entity entity] { get; }
+```
+#### Parameters
+
+`entity` [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity')
+The [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') for which to get the component of type [T](./DefaultEcs-Components-T-.md#DefaultEcs-Components-T--T 'DefaultEcs.Components<T>.T').
+
+#### Returns
+[T](./DefaultEcs-Components-T-.md#DefaultEcs-Components-T--T 'DefaultEcs.Components<T>.T')
diff --git a/documentation/api/DefaultEcs-Components-T-.md b/documentation/api/DefaultEcs-Components-T-.md
new file mode 100644
index 00000000..57cf6b6b
--- /dev/null
+++ b/documentation/api/DefaultEcs-Components-T-.md
@@ -0,0 +1,14 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs](./DefaultEcs.md 'DefaultEcs')
+## Components<T> Struct
+Provides a fast access to the components of type [T](#DefaultEcs-Components-T--T 'DefaultEcs.Components<T>.T').
+```C#
+public readonly ref struct Components
+```
+#### Type parameters
+
+`T`
+The type of the component.
+
+### Properties
+- [this[DefaultEcs.Entity]](./DefaultEcs-Components-T--this-DefaultEcs-Entity-.md 'DefaultEcs.Components<T>.this[DefaultEcs.Entity]')
diff --git a/documentation/api/DefaultEcs-EntitySet-Dispose().md b/documentation/api/DefaultEcs-EntitySet-Dispose().md
index 0d247725..6744ef02 100644
--- a/documentation/api/DefaultEcs-EntitySet-Dispose().md
+++ b/documentation/api/DefaultEcs-EntitySet-Dispose().md
@@ -1,7 +1,7 @@
#### [DefaultEcs](./index.md 'index')
### [DefaultEcs](./DefaultEcs.md 'DefaultEcs').[EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet')
## EntitySet.Dispose() Method
-Releases current [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet') of its subscriptions, stopping it to get modifications on the [World](./DefaultEcs-World.md 'DefaultEcs.World')'s [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity').
+Releases current [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet') of its subscriptions, stopping it to get modifications on the [World](./DefaultEcs-EntitySet-World.md 'DefaultEcs.EntitySet.World')'s [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity').
```C#
public void Dispose();
```
diff --git a/documentation/api/DefaultEcs-EntitySet-World.md b/documentation/api/DefaultEcs-EntitySet-World.md
new file mode 100644
index 00000000..defd47a8
--- /dev/null
+++ b/documentation/api/DefaultEcs-EntitySet-World.md
@@ -0,0 +1,9 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs](./DefaultEcs.md 'DefaultEcs').[EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet')
+## EntitySet.World Property
+Gets the [World](./DefaultEcs-World.md 'DefaultEcs.World') instance from which current [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet') originate.
+```C#
+public DefaultEcs.World World { get; }
+```
+#### Returns
+[World](./DefaultEcs-World.md 'DefaultEcs.World')
diff --git a/documentation/api/DefaultEcs-EntitySet.md b/documentation/api/DefaultEcs-EntitySet.md
index 30298ce6..756ceaec 100644
--- a/documentation/api/DefaultEcs-EntitySet.md
+++ b/documentation/api/DefaultEcs-EntitySet.md
@@ -1,7 +1,7 @@
#### [DefaultEcs](./index.md 'index')
### [DefaultEcs](./DefaultEcs.md 'DefaultEcs')
## EntitySet Class
-Represents a sub-selection of [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') instances from a [World](./DefaultEcs-World.md 'DefaultEcs.World').
+Represents a sub-selection of [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') instances from a [World](./DefaultEcs-EntitySet-World.md 'DefaultEcs.EntitySet.World').
```C#
public sealed class EntitySet :
IDisposable
@@ -11,6 +11,7 @@ Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.O
Implements [System.IDisposable](https://docs.microsoft.com/en-us/dotnet/api/System.IDisposable 'System.IDisposable')
### Properties
- [Count](./DefaultEcs-EntitySet-Count.md 'DefaultEcs.EntitySet.Count')
+- [World](./DefaultEcs-EntitySet-World.md 'DefaultEcs.EntitySet.World')
### Methods
- [Complete()](./DefaultEcs-EntitySet-Complete().md 'DefaultEcs.EntitySet.Complete()')
- [Contains(DefaultEcs.Entity)](./DefaultEcs-EntitySet-Contains(DefaultEcs-Entity).md 'DefaultEcs.EntitySet.Contains(DefaultEcs.Entity)')
diff --git a/documentation/api/DefaultEcs-Serialization-IComponentTypeReader-OnRead-T-(int).md b/documentation/api/DefaultEcs-Serialization-IComponentTypeReader-OnRead-T-(int).md
index 0ed038c8..563b6cd0 100644
--- a/documentation/api/DefaultEcs-Serialization-IComponentTypeReader-OnRead-T-(int).md
+++ b/documentation/api/DefaultEcs-Serialization-IComponentTypeReader-OnRead-T-(int).md
@@ -3,7 +3,7 @@
## IComponentTypeReader.OnRead<T>(int) Method
Processes the maximum number of component of type [T](#DefaultEcs-Serialization-IComponentTypeReader-OnRead-T-(int)-T 'DefaultEcs.Serialization.IComponentTypeReader.OnRead<T>(int).T').
```C#
-void OnRead(int maxComponentCount);
+void OnRead(int maxCapacity);
```
#### Type parameters
@@ -11,7 +11,7 @@ void OnRead(int maxComponentCount);
The type of component.
#### Parameters
-
-`maxComponentCount` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
+
+`maxCapacity` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
The maximum number of component of type [T](#DefaultEcs-Serialization-IComponentTypeReader-OnRead-T-(int)-T 'DefaultEcs.Serialization.IComponentTypeReader.OnRead<T>(int).T').
diff --git a/documentation/api/DefaultEcs-System-AComponentSystem-TState_TComponent--AComponentSystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner_int).md b/documentation/api/DefaultEcs-System-AComponentSystem-TState_TComponent--AComponentSystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner_int).md
new file mode 100644
index 00000000..bdaf0450
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AComponentSystem-TState_TComponent--AComponentSystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner_int).md
@@ -0,0 +1,23 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AComponentSystem<TState,TComponent>](./DefaultEcs-System-AComponentSystem-TState_TComponent-.md 'DefaultEcs.System.AComponentSystem<TState,TComponent>')
+## AComponentSystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner, int) Constructor
+Initialise a new instance of the [AComponentSystem<TState,TComponent>](./DefaultEcs-System-AComponentSystem-TState_TComponent-.md 'DefaultEcs.System.AComponentSystem<TState,TComponent>') class with the given [World](./DefaultEcs-World.md 'DefaultEcs.World') and [IParallelRunner](./DefaultEcs-Threading-IParallelRunner.md 'DefaultEcs.Threading.IParallelRunner').
+```C#
+protected AComponentSystem(DefaultEcs.World world, DefaultEcs.Threading.IParallelRunner runner, int minComponentCountByRunnerIndex);
+```
+#### Parameters
+
+`world` [World](./DefaultEcs-World.md 'DefaultEcs.World')
+The [World](./DefaultEcs-World.md 'DefaultEcs.World') on which to process the update.
+
+
+`runner` [IParallelRunner](./DefaultEcs-Threading-IParallelRunner.md 'DefaultEcs.Threading.IParallelRunner')
+The [IParallelRunner](./DefaultEcs-Threading-IParallelRunner.md 'DefaultEcs.Threading.IParallelRunner') used to process the update in parallel if not null.
+
+
+`minComponentCountByRunnerIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
+The minimum number of component per runner index to use the given [runner](#DefaultEcs-System-AComponentSystem-TState_TComponent--AComponentSystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner_int)-runner 'DefaultEcs.System.AComponentSystem<TState,TComponent>.AComponentSystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner, int).runner').
+
+#### Exceptions
+[System.ArgumentNullException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentNullException 'System.ArgumentNullException')
+[world](#DefaultEcs-System-AComponentSystem-TState_TComponent--AComponentSystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner_int)-world 'DefaultEcs.System.AComponentSystem<TState,TComponent>.AComponentSystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner, int).world') is null.
diff --git a/documentation/api/DefaultEcs-System-AComponentSystem-TState_TComponent-.md b/documentation/api/DefaultEcs-System-AComponentSystem-TState_TComponent-.md
index c560d0d8..23c39bc4 100644
--- a/documentation/api/DefaultEcs-System-AComponentSystem-TState_TComponent-.md
+++ b/documentation/api/DefaultEcs-System-AComponentSystem-TState_TComponent-.md
@@ -22,6 +22,7 @@ The type of component to update.
### Constructors
- [AComponentSystem(DefaultEcs.World)](./DefaultEcs-System-AComponentSystem-TState_TComponent--AComponentSystem(DefaultEcs-World).md 'DefaultEcs.System.AComponentSystem<TState,TComponent>.AComponentSystem(DefaultEcs.World)')
- [AComponentSystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner)](./DefaultEcs-System-AComponentSystem-TState_TComponent--AComponentSystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner).md 'DefaultEcs.System.AComponentSystem<TState,TComponent>.AComponentSystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner)')
+- [AComponentSystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner, int)](./DefaultEcs-System-AComponentSystem-TState_TComponent--AComponentSystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner_int).md 'DefaultEcs.System.AComponentSystem<TState,TComponent>.AComponentSystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner, int)')
### Properties
- [IsEnabled](./DefaultEcs-System-AComponentSystem-TState_TComponent--IsEnabled.md 'DefaultEcs.System.AComponentSystem<TState,TComponent>.IsEnabled')
### Methods
diff --git a/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--AEntityBufferedSystem(DefaultEcs-EntitySet).md b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--AEntityBufferedSystem(DefaultEcs-EntitySet).md
new file mode 100644
index 00000000..323bfb03
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--AEntityBufferedSystem(DefaultEcs-EntitySet).md
@@ -0,0 +1,15 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
+## AEntityBufferedSystem(DefaultEcs.EntitySet) Constructor
+Initialise a new instance of the [AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>') class with the given [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet').
+```C#
+protected AEntityBufferedSystem(DefaultEcs.EntitySet set);
+```
+#### Parameters
+
+`set` [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet')
+The [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet') on which to process the update.
+
+#### Exceptions
+[System.ArgumentNullException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentNullException 'System.ArgumentNullException')
+[set](#DefaultEcs-System-AEntityBufferedSystem-T--AEntityBufferedSystem(DefaultEcs-EntitySet)-set 'DefaultEcs.System.AEntityBufferedSystem<T>.AEntityBufferedSystem(DefaultEcs.EntitySet).set') is null.
diff --git a/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--AEntityBufferedSystem(DefaultEcs-World).md b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--AEntityBufferedSystem(DefaultEcs-World).md
new file mode 100644
index 00000000..5005fda5
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--AEntityBufferedSystem(DefaultEcs-World).md
@@ -0,0 +1,16 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
+## AEntityBufferedSystem(DefaultEcs.World) Constructor
+Initialise a new instance of the [AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>') class with the given [World](./DefaultEcs-World.md 'DefaultEcs.World').
+To create the inner [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet'), [WithAttribute](./DefaultEcs-System-WithAttribute.md 'DefaultEcs.System.WithAttribute') and [WithoutAttribute](./DefaultEcs-System-WithoutAttribute.md 'DefaultEcs.System.WithoutAttribute') attributes will be used.
+```C#
+protected AEntityBufferedSystem(DefaultEcs.World world);
+```
+#### Parameters
+
+`world` [World](./DefaultEcs-World.md 'DefaultEcs.World')
+The [World](./DefaultEcs-World.md 'DefaultEcs.World') from which to get the [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') instances to process the update.
+
+#### Exceptions
+[System.ArgumentNullException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentNullException 'System.ArgumentNullException')
+[world](#DefaultEcs-System-AEntityBufferedSystem-T--AEntityBufferedSystem(DefaultEcs-World)-world 'DefaultEcs.System.AEntityBufferedSystem<T>.AEntityBufferedSystem(DefaultEcs.World).world') is null.
diff --git a/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--Dispose().md b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--Dispose().md
new file mode 100644
index 00000000..796b04af
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--Dispose().md
@@ -0,0 +1,7 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
+## AEntityBufferedSystem<T>.Dispose() Method
+Disposes of the inner [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet') instance.
+```C#
+public virtual void Dispose();
+```
diff --git a/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--EntityAdded.md b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--EntityAdded.md
new file mode 100644
index 00000000..7b96b6ad
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--EntityAdded.md
@@ -0,0 +1,9 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
+## AEntityBufferedSystem<T>.EntityAdded Event
+Event called when an [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') is added to the inner [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet').
+```C#
+public event EntityAdded;
+```
+#### Event type
+[DefaultEcs.ActionIn<](./DefaultEcs-ActionIn-T-(T).md 'DefaultEcs.ActionIn<T>(T)')[Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity')[>](./DefaultEcs-ActionIn-T-(T).md 'DefaultEcs.ActionIn<T>(T)')
diff --git a/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--EntityRemoved.md b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--EntityRemoved.md
new file mode 100644
index 00000000..cb2b5cd7
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--EntityRemoved.md
@@ -0,0 +1,9 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
+## AEntityBufferedSystem<T>.EntityRemoved Event
+Event called when an [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') is removed from the inner [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet').
+```C#
+public event EntityRemoved;
+```
+#### Event type
+[DefaultEcs.ActionIn<](./DefaultEcs-ActionIn-T-(T).md 'DefaultEcs.ActionIn<T>(T)')[Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity')[>](./DefaultEcs-ActionIn-T-(T).md 'DefaultEcs.ActionIn<T>(T)')
diff --git a/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--IsEnabled.md b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--IsEnabled.md
new file mode 100644
index 00000000..b25dcfb5
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--IsEnabled.md
@@ -0,0 +1,9 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
+## AEntityBufferedSystem<T>.IsEnabled Property
+Gets or sets whether the current [AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>') instance should update or not.
+```C#
+public bool IsEnabled { get; set; }
+```
+#### Returns
+[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')
diff --git a/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--PostUpdate(T).md b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--PostUpdate(T).md
new file mode 100644
index 00000000..40917960
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--PostUpdate(T).md
@@ -0,0 +1,12 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
+## AEntityBufferedSystem<T>.PostUpdate(T) Method
+Performs a post-update treatment.
+```C#
+protected virtual void PostUpdate(T state);
+```
+#### Parameters
+
+`state` [T](./DefaultEcs-System-AEntityBufferedSystem-T-.md#DefaultEcs-System-AEntityBufferedSystem-T--T 'DefaultEcs.System.AEntityBufferedSystem<T>.T')
+The state to use.
+
diff --git a/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--PreUpdate(T).md b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--PreUpdate(T).md
new file mode 100644
index 00000000..1799f7ca
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--PreUpdate(T).md
@@ -0,0 +1,12 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
+## AEntityBufferedSystem<T>.PreUpdate(T) Method
+Performs a pre-update treatment.
+```C#
+protected virtual void PreUpdate(T state);
+```
+#### Parameters
+
+`state` [T](./DefaultEcs-System-AEntityBufferedSystem-T-.md#DefaultEcs-System-AEntityBufferedSystem-T--T 'DefaultEcs.System.AEntityBufferedSystem<T>.T')
+The state to use.
+
diff --git a/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--Update(T).md b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--Update(T).md
new file mode 100644
index 00000000..a264c5eb
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--Update(T).md
@@ -0,0 +1,13 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
+## AEntityBufferedSystem<T>.Update(T) Method
+Updates the system once.
+Does nothing if [IsEnabled](./DefaultEcs-System-AEntityBufferedSystem-T--IsEnabled.md 'DefaultEcs.System.AEntityBufferedSystem<T>.IsEnabled') is false or if the inner [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet') is empty.
+```C#
+public void Update(T state);
+```
+#### Parameters
+
+`state` [T](./DefaultEcs-System-AEntityBufferedSystem-T-.md#DefaultEcs-System-AEntityBufferedSystem-T--T 'DefaultEcs.System.AEntityBufferedSystem<T>.T')
+The state to use.
+
diff --git a/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--Update(T_DefaultEcs-Entity).md b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--Update(T_DefaultEcs-Entity).md
new file mode 100644
index 00000000..4a2798f4
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--Update(T_DefaultEcs-Entity).md
@@ -0,0 +1,16 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
+## AEntityBufferedSystem<T>.Update(T, DefaultEcs.Entity) Method
+Update the given [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') instance once.
+```C#
+protected virtual void Update(T state, in DefaultEcs.Entity entity);
+```
+#### Parameters
+
+`state` [T](./DefaultEcs-System-AEntityBufferedSystem-T-.md#DefaultEcs-System-AEntityBufferedSystem-T--T 'DefaultEcs.System.AEntityBufferedSystem<T>.T')
+The state to use.
+
+
+`entity` [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity')
+The [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') instance to update.
+
diff --git a/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--Update(T_System-ReadOnlySpan-DefaultEcs-Entity-).md b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--Update(T_System-ReadOnlySpan-DefaultEcs-Entity-).md
new file mode 100644
index 00000000..71c761c3
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T--Update(T_System-ReadOnlySpan-DefaultEcs-Entity-).md
@@ -0,0 +1,16 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
+## AEntityBufferedSystem<T>.Update(T, System.ReadOnlySpan<DefaultEcs.Entity>) Method
+Update the given [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') instances once.
+```C#
+protected virtual void Update(T state, System.ReadOnlySpan entities);
+```
+#### Parameters
+
+`state` [T](./DefaultEcs-System-AEntityBufferedSystem-T-.md#DefaultEcs-System-AEntityBufferedSystem-T--T 'DefaultEcs.System.AEntityBufferedSystem<T>.T')
+The state to use.
+
+
+`entities` [System.ReadOnlySpan<](https://docs.microsoft.com/en-us/dotnet/api/System.ReadOnlySpan-1 'System.ReadOnlySpan`1')[Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity')[>](https://docs.microsoft.com/en-us/dotnet/api/System.ReadOnlySpan-1 'System.ReadOnlySpan`1')
+The [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') instances to update.
+
diff --git a/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T-.md b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T-.md
new file mode 100644
index 00000000..5f2905f6
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntityBufferedSystem-T-.md
@@ -0,0 +1,34 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System')
+## AEntityBufferedSystem<T> Class
+Represents a base class to process updates on a given [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet') instance.
+[Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') instances are buffered in a rented array from [System.Buffers.ArrayPool<>.Shared](https://docs.microsoft.com/en-us/dotnet/api/System.Buffers.ArrayPool-1.Shared 'System.Buffers.ArrayPool`1.Shared') so structural modification are possible without the use of a [EntityCommandRecorder](./DefaultEcs-Command-EntityCommandRecorder.md 'DefaultEcs.Command.EntityCommandRecorder').
+The updates are single threaded, all [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') operations are safe.
+```C#
+public abstract class AEntityBufferedSystem :
+ISystem,
+IDisposable
+```
+Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') > [AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
+
+Implements [DefaultEcs.System.ISystem<](./DefaultEcs-System-ISystem-T-.md 'DefaultEcs.System.ISystem<T>')[T](#DefaultEcs-System-AEntityBufferedSystem-T--T 'DefaultEcs.System.AEntityBufferedSystem<T>.T')[>](./DefaultEcs-System-ISystem-T-.md 'DefaultEcs.System.ISystem<T>'), [System.IDisposable](https://docs.microsoft.com/en-us/dotnet/api/System.IDisposable 'System.IDisposable')
+#### Type parameters
+
+`T`
+The type of the object used as state to update the system.
+
+### Constructors
+- [AEntityBufferedSystem(DefaultEcs.EntitySet)](./DefaultEcs-System-AEntityBufferedSystem-T--AEntityBufferedSystem(DefaultEcs-EntitySet).md 'DefaultEcs.System.AEntityBufferedSystem<T>.AEntityBufferedSystem(DefaultEcs.EntitySet)')
+- [AEntityBufferedSystem(DefaultEcs.World)](./DefaultEcs-System-AEntityBufferedSystem-T--AEntityBufferedSystem(DefaultEcs-World).md 'DefaultEcs.System.AEntityBufferedSystem<T>.AEntityBufferedSystem(DefaultEcs.World)')
+### Properties
+- [IsEnabled](./DefaultEcs-System-AEntityBufferedSystem-T--IsEnabled.md 'DefaultEcs.System.AEntityBufferedSystem<T>.IsEnabled')
+### Methods
+- [Dispose()](./DefaultEcs-System-AEntityBufferedSystem-T--Dispose().md 'DefaultEcs.System.AEntityBufferedSystem<T>.Dispose()')
+- [PostUpdate(T)](./DefaultEcs-System-AEntityBufferedSystem-T--PostUpdate(T).md 'DefaultEcs.System.AEntityBufferedSystem<T>.PostUpdate(T)')
+- [PreUpdate(T)](./DefaultEcs-System-AEntityBufferedSystem-T--PreUpdate(T).md 'DefaultEcs.System.AEntityBufferedSystem<T>.PreUpdate(T)')
+- [Update(T)](./DefaultEcs-System-AEntityBufferedSystem-T--Update(T).md 'DefaultEcs.System.AEntityBufferedSystem<T>.Update(T)')
+- [Update(T, DefaultEcs.Entity)](./DefaultEcs-System-AEntityBufferedSystem-T--Update(T_DefaultEcs-Entity).md 'DefaultEcs.System.AEntityBufferedSystem<T>.Update(T, DefaultEcs.Entity)')
+- [Update(T, System.ReadOnlySpan<DefaultEcs.Entity>)](./DefaultEcs-System-AEntityBufferedSystem-T--Update(T_System-ReadOnlySpan-DefaultEcs-Entity-).md 'DefaultEcs.System.AEntityBufferedSystem<T>.Update(T, System.ReadOnlySpan<DefaultEcs.Entity>)')
+### Events
+- [EntityAdded](./DefaultEcs-System-AEntityBufferedSystem-T--EntityAdded.md 'DefaultEcs.System.AEntityBufferedSystem<T>.EntityAdded')
+- [EntityRemoved](./DefaultEcs-System-AEntityBufferedSystem-T--EntityRemoved.md 'DefaultEcs.System.AEntityBufferedSystem<T>.EntityRemoved')
diff --git a/documentation/api/DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-EntitySet_DefaultEcs-Threading-IParallelRunner_int).md b/documentation/api/DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-EntitySet_DefaultEcs-Threading-IParallelRunner_int).md
new file mode 100644
index 00000000..1e5668d9
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-EntitySet_DefaultEcs-Threading-IParallelRunner_int).md
@@ -0,0 +1,23 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntitySystem<T>](./DefaultEcs-System-AEntitySystem-T-.md 'DefaultEcs.System.AEntitySystem<T>')
+## AEntitySystem(DefaultEcs.EntitySet, DefaultEcs.Threading.IParallelRunner, int) Constructor
+Initialise a new instance of the [AEntitySystem<T>](./DefaultEcs-System-AEntitySystem-T-.md 'DefaultEcs.System.AEntitySystem<T>') class with the given [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet') and [IParallelRunner](./DefaultEcs-Threading-IParallelRunner.md 'DefaultEcs.Threading.IParallelRunner').
+```C#
+protected AEntitySystem(DefaultEcs.EntitySet set, DefaultEcs.Threading.IParallelRunner runner, int minEntityCountByRunnerIndex);
+```
+#### Parameters
+
+`set` [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet')
+The [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet') on which to process the update.
+
+
+`runner` [IParallelRunner](./DefaultEcs-Threading-IParallelRunner.md 'DefaultEcs.Threading.IParallelRunner')
+The [IParallelRunner](./DefaultEcs-Threading-IParallelRunner.md 'DefaultEcs.Threading.IParallelRunner') used to process the update in parallel if not null.
+
+
+`minEntityCountByRunnerIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
+The minimum number of [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') per runner index to use the given [runner](#DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-EntitySet_DefaultEcs-Threading-IParallelRunner_int)-runner 'DefaultEcs.System.AEntitySystem<T>.AEntitySystem(DefaultEcs.EntitySet, DefaultEcs.Threading.IParallelRunner, int).runner').
+
+#### Exceptions
+[System.ArgumentNullException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentNullException 'System.ArgumentNullException')
+[set](#DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-EntitySet_DefaultEcs-Threading-IParallelRunner_int)-set 'DefaultEcs.System.AEntitySystem<T>.AEntitySystem(DefaultEcs.EntitySet, DefaultEcs.Threading.IParallelRunner, int).set') is null.
diff --git a/documentation/api/DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner_int).md b/documentation/api/DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner_int).md
new file mode 100644
index 00000000..12d50c8d
--- /dev/null
+++ b/documentation/api/DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner_int).md
@@ -0,0 +1,24 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System').[AEntitySystem<T>](./DefaultEcs-System-AEntitySystem-T-.md 'DefaultEcs.System.AEntitySystem<T>')
+## AEntitySystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner, int) Constructor
+Initialise a new instance of the [AEntitySystem<T>](./DefaultEcs-System-AEntitySystem-T-.md 'DefaultEcs.System.AEntitySystem<T>') class with the given [World](./DefaultEcs-World.md 'DefaultEcs.World').
+To create the inner [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet'), [WithAttribute](./DefaultEcs-System-WithAttribute.md 'DefaultEcs.System.WithAttribute') and [WithoutAttribute](./DefaultEcs-System-WithoutAttribute.md 'DefaultEcs.System.WithoutAttribute') attributes will be used.
+```C#
+protected AEntitySystem(DefaultEcs.World world, DefaultEcs.Threading.IParallelRunner runner, int minEntityCountByRunnerIndex);
+```
+#### Parameters
+
+`world` [World](./DefaultEcs-World.md 'DefaultEcs.World')
+The [World](./DefaultEcs-World.md 'DefaultEcs.World') from which to get the [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') instances to process the update.
+
+
+`runner` [IParallelRunner](./DefaultEcs-Threading-IParallelRunner.md 'DefaultEcs.Threading.IParallelRunner')
+The [IParallelRunner](./DefaultEcs-Threading-IParallelRunner.md 'DefaultEcs.Threading.IParallelRunner') used to process the update in parallel if not null.
+
+
+`minEntityCountByRunnerIndex` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
+The minimum number of [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') per runner index to use the given [runner](#DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner_int)-runner 'DefaultEcs.System.AEntitySystem<T>.AEntitySystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner, int).runner').
+
+#### Exceptions
+[System.ArgumentNullException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentNullException 'System.ArgumentNullException')
+[world](#DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner_int)-world 'DefaultEcs.System.AEntitySystem<T>.AEntitySystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner, int).world') is null.
diff --git a/documentation/api/DefaultEcs-System-AEntitySystem-T-.md b/documentation/api/DefaultEcs-System-AEntitySystem-T-.md
index 1a1c88ba..c6328070 100644
--- a/documentation/api/DefaultEcs-System-AEntitySystem-T-.md
+++ b/documentation/api/DefaultEcs-System-AEntitySystem-T-.md
@@ -2,6 +2,7 @@
### [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System')
## AEntitySystem<T> Class
Represents a base class to process updates on a given [EntitySet](./DefaultEcs-EntitySet.md 'DefaultEcs.EntitySet') instance.
+Only [Get<T>()](./DefaultEcs-Entity-Get-T-().md 'DefaultEcs.Entity.Get<T>()'), [Set<T>(T)](./DefaultEcs-Entity-Set-T-(T).md 'DefaultEcs.Entity.Set<T>(T)') and [SetSameAs<T>(DefaultEcs.Entity)](./DefaultEcs-Entity-SetSameAs-T-(DefaultEcs-Entity).md 'DefaultEcs.Entity.SetSameAs<T>(DefaultEcs.Entity)') operation on already present component type are safe.
```C#
public abstract class AEntitySystem :
ISystem,
@@ -18,8 +19,10 @@ The type of the object used as state to update the system.
### Constructors
- [AEntitySystem(DefaultEcs.EntitySet)](./DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-EntitySet).md 'DefaultEcs.System.AEntitySystem<T>.AEntitySystem(DefaultEcs.EntitySet)')
- [AEntitySystem(DefaultEcs.EntitySet, DefaultEcs.Threading.IParallelRunner)](./DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-EntitySet_DefaultEcs-Threading-IParallelRunner).md 'DefaultEcs.System.AEntitySystem<T>.AEntitySystem(DefaultEcs.EntitySet, DefaultEcs.Threading.IParallelRunner)')
+- [AEntitySystem(DefaultEcs.EntitySet, DefaultEcs.Threading.IParallelRunner, int)](./DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-EntitySet_DefaultEcs-Threading-IParallelRunner_int).md 'DefaultEcs.System.AEntitySystem<T>.AEntitySystem(DefaultEcs.EntitySet, DefaultEcs.Threading.IParallelRunner, int)')
- [AEntitySystem(DefaultEcs.World)](./DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-World).md 'DefaultEcs.System.AEntitySystem<T>.AEntitySystem(DefaultEcs.World)')
- [AEntitySystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner)](./DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner).md 'DefaultEcs.System.AEntitySystem<T>.AEntitySystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner)')
+- [AEntitySystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner, int)](./DefaultEcs-System-AEntitySystem-T--AEntitySystem(DefaultEcs-World_DefaultEcs-Threading-IParallelRunner_int).md 'DefaultEcs.System.AEntitySystem<T>.AEntitySystem(DefaultEcs.World, DefaultEcs.Threading.IParallelRunner, int)')
### Properties
- [IsEnabled](./DefaultEcs-System-AEntitySystem-T--IsEnabled.md 'DefaultEcs.System.AEntitySystem<T>.IsEnabled')
### Methods
diff --git a/documentation/api/DefaultEcs-System.md b/documentation/api/DefaultEcs-System.md
index 805b4f35..d1a94174 100644
--- a/documentation/api/DefaultEcs-System.md
+++ b/documentation/api/DefaultEcs-System.md
@@ -4,6 +4,7 @@ The [DefaultEcs.System](./DefaultEcs-System.md 'DefaultEcs.System') namespace co
### Classes
- [AComponentSystem<TState,TComponent>](./DefaultEcs-System-AComponentSystem-TState_TComponent-.md 'DefaultEcs.System.AComponentSystem<TState,TComponent>')
- [ActionSystem<T>](./DefaultEcs-System-ActionSystem-T-.md 'DefaultEcs.System.ActionSystem<T>')
+- [AEntityBufferedSystem<T>](./DefaultEcs-System-AEntityBufferedSystem-T-.md 'DefaultEcs.System.AEntityBufferedSystem<T>')
- [AEntitySystem<T>](./DefaultEcs-System-AEntitySystem-T-.md 'DefaultEcs.System.AEntitySystem<T>')
- [ComponentAttribute](./DefaultEcs-System-ComponentAttribute.md 'DefaultEcs.System.ComponentAttribute')
- [DisabledAttribute](./DefaultEcs-System-DisabledAttribute.md 'DefaultEcs.System.DisabledAttribute')
diff --git a/documentation/api/DefaultEcs-World-Get-T-().md b/documentation/api/DefaultEcs-World-Get-T-().md
new file mode 100644
index 00000000..dccc92fe
--- /dev/null
+++ b/documentation/api/DefaultEcs-World-Get-T-().md
@@ -0,0 +1,15 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs](./DefaultEcs.md 'DefaultEcs').[World](./DefaultEcs-World.md 'DefaultEcs.World')
+## World.Get<T>() Method
+Gets all the component of a given type [T](#DefaultEcs-World-Get-T-()-T 'DefaultEcs.World.Get<T>().T').
+```C#
+public System.Span Get();
+```
+#### Type parameters
+
+`T`
+The type of component.
+
+#### Returns
+[System.Span<](https://docs.microsoft.com/en-us/dotnet/api/System.Span-1 'System.Span`1')[T](#DefaultEcs-World-Get-T-()-T 'DefaultEcs.World.Get<T>().T')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Span-1 'System.Span`1')
+A [System.Span<>](https://docs.microsoft.com/en-us/dotnet/api/System.Span-1 'System.Span`1') pointing directly to the component values to edit them.
diff --git a/documentation/api/DefaultEcs-World-GetComponents-T-().md b/documentation/api/DefaultEcs-World-GetComponents-T-().md
new file mode 100644
index 00000000..198ee520
--- /dev/null
+++ b/documentation/api/DefaultEcs-World-GetComponents-T-().md
@@ -0,0 +1,15 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs](./DefaultEcs.md 'DefaultEcs').[World](./DefaultEcs-World.md 'DefaultEcs.World')
+## World.GetComponents<T>() Method
+Gets an [Components<T>](./DefaultEcs-Components-T-.md 'DefaultEcs.Components<T>') to get a fast access to the component of type [T](#DefaultEcs-World-GetComponents-T-()-T 'DefaultEcs.World.GetComponents<T>().T') of this [World](./DefaultEcs-World.md 'DefaultEcs.World') instance [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity').
+```C#
+public DefaultEcs.Components GetComponents();
+```
+#### Type parameters
+
+`T`
+The type of component.
+
+#### Returns
+[DefaultEcs.Components<](./DefaultEcs-Components-T-.md 'DefaultEcs.Components<T>')[T](#DefaultEcs-World-GetComponents-T-()-T 'DefaultEcs.World.GetComponents<T>().T')[>](./DefaultEcs-Components-T-.md 'DefaultEcs.Components<T>')
+A [Components<T>](./DefaultEcs-Components-T-.md 'DefaultEcs.Components<T>').
diff --git a/documentation/api/DefaultEcs-World-GetEnumerator().md b/documentation/api/DefaultEcs-World-GetEnumerator().md
new file mode 100644
index 00000000..3f90d9c8
--- /dev/null
+++ b/documentation/api/DefaultEcs-World-GetEnumerator().md
@@ -0,0 +1,10 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs](./DefaultEcs.md 'DefaultEcs').[World](./DefaultEcs-World.md 'DefaultEcs.World')
+## World.GetEnumerator() Method
+Returns an enumerator that iterates through the [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') of the current [World](./DefaultEcs-World.md 'DefaultEcs.World') instance.
+```C#
+public System.Collections.Generic.IEnumerator GetEnumerator();
+```
+#### Returns
+[System.Collections.Generic.IEnumerator<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerator-1 'System.Collections.Generic.IEnumerator`1')[Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerator-1 'System.Collections.Generic.IEnumerator`1')
+An enumerator that can be used to iterate through the [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity').
diff --git a/documentation/api/DefaultEcs-World-GetMaxCapacity-T-().md b/documentation/api/DefaultEcs-World-GetMaxCapacity-T-().md
new file mode 100644
index 00000000..6f6726f7
--- /dev/null
+++ b/documentation/api/DefaultEcs-World-GetMaxCapacity-T-().md
@@ -0,0 +1,15 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs](./DefaultEcs.md 'DefaultEcs').[World](./DefaultEcs-World.md 'DefaultEcs.World')
+## World.GetMaxCapacity<T>() Method
+Gets the maximum number of [T](#DefaultEcs-World-GetMaxCapacity-T-()-T 'DefaultEcs.World.GetMaxCapacity<T>().T') components this [World](./DefaultEcs-World.md 'DefaultEcs.World') can create.
+```C#
+public int GetMaxCapacity();
+```
+#### Type parameters
+
+`T`
+
+
+#### Returns
+[System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
+The maximum number of [T](#DefaultEcs-World-GetMaxCapacity-T-()-T 'DefaultEcs.World.GetMaxCapacity<T>().T') components this [World](./DefaultEcs-World.md 'DefaultEcs.World') can create, or -1 if it is currently not handled.
diff --git a/documentation/api/DefaultEcs-World-GetMaximumComponentCount-T-().md b/documentation/api/DefaultEcs-World-GetMaximumComponentCount-T-().md
index 2b419f31..7354427c 100644
--- a/documentation/api/DefaultEcs-World-GetMaximumComponentCount-T-().md
+++ b/documentation/api/DefaultEcs-World-GetMaximumComponentCount-T-().md
@@ -2,7 +2,6 @@
### [DefaultEcs](./DefaultEcs.md 'DefaultEcs').[World](./DefaultEcs-World.md 'DefaultEcs.World')
## World.GetMaximumComponentCount<T>() Method
Gets the maximum number of [T](#DefaultEcs-World-GetMaximumComponentCount-T-()-T 'DefaultEcs.World.GetMaximumComponentCount<T>().T') components this [World](./DefaultEcs-World.md 'DefaultEcs.World') can create.
-Returns a negative value if there is no limit.
```C#
public int GetMaximumComponentCount();
```
@@ -13,4 +12,4 @@ public int GetMaximumComponentCount();
#### Returns
[System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
-
+The maximum number of [T](#DefaultEcs-World-GetMaximumComponentCount-T-()-T 'DefaultEcs.World.GetMaximumComponentCount<T>().T') components this [World](./DefaultEcs-World.md 'DefaultEcs.World') can create, or -1 if it is currently not handled.
diff --git a/documentation/api/DefaultEcs-World-MaxCapacity.md b/documentation/api/DefaultEcs-World-MaxCapacity.md
new file mode 100644
index 00000000..72d11b63
--- /dev/null
+++ b/documentation/api/DefaultEcs-World-MaxCapacity.md
@@ -0,0 +1,9 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs](./DefaultEcs.md 'DefaultEcs').[World](./DefaultEcs-World.md 'DefaultEcs.World')
+## World.MaxCapacity Property
+Gets the maximum number of [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') this [World](./DefaultEcs-World.md 'DefaultEcs.World') can handle.
+```C#
+public int MaxCapacity { get; }
+```
+#### Returns
+[System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
diff --git a/documentation/api/DefaultEcs-World-MaxEntityCount.md b/documentation/api/DefaultEcs-World-MaxEntityCount.md
index 01f3799c..c68ae064 100644
--- a/documentation/api/DefaultEcs-World-MaxEntityCount.md
+++ b/documentation/api/DefaultEcs-World-MaxEntityCount.md
@@ -1,7 +1,7 @@
#### [DefaultEcs](./index.md 'index')
### [DefaultEcs](./DefaultEcs.md 'DefaultEcs').[World](./DefaultEcs-World.md 'DefaultEcs.World')
## World.MaxEntityCount Property
-Gets the maximum number of [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') this [World](./DefaultEcs-World.md 'DefaultEcs.World') can create.
+Gets the maximum number of [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') this [World](./DefaultEcs-World.md 'DefaultEcs.World') can handle.
```C#
public int MaxEntityCount { get; }
```
diff --git a/documentation/api/DefaultEcs-World-SetMaxCapacity-T-(int).md b/documentation/api/DefaultEcs-World-SetMaxCapacity-T-(int).md
new file mode 100644
index 00000000..5dc8208f
--- /dev/null
+++ b/documentation/api/DefaultEcs-World-SetMaxCapacity-T-(int).md
@@ -0,0 +1,24 @@
+#### [DefaultEcs](./index.md 'index')
+### [DefaultEcs](./DefaultEcs.md 'DefaultEcs').[World](./DefaultEcs-World.md 'DefaultEcs.World')
+## World.SetMaxCapacity<T>(int) Method
+Sets up the current [World](./DefaultEcs-World.md 'DefaultEcs.World') to handle component of type [T](#DefaultEcs-World-SetMaxCapacity-T-(int)-T 'DefaultEcs.World.SetMaxCapacity<T>(int).T') with a different maximum count than [MaxCapacity](./DefaultEcs-World-MaxCapacity.md 'DefaultEcs.World.MaxCapacity').
+If the type of component is already handled by the current [World](./DefaultEcs-World.md 'DefaultEcs.World'), does nothing.
+```C#
+public bool SetMaxCapacity(int maxCapacity);
+```
+#### Type parameters
+
+`T`
+The type of component.
+
+#### Parameters
+
+`maxCapacity` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
+The maximum number of component of type [T](#DefaultEcs-World-SetMaxCapacity-T-(int)-T 'DefaultEcs.World.SetMaxCapacity<T>(int).T') that can exist in this [World](./DefaultEcs-World.md 'DefaultEcs.World').
+
+#### Returns
+[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')
+Whether the maximum count has been setted or not.
+#### Exceptions
+[System.ArgumentException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentException 'System.ArgumentException')
+[maxCapacity](#DefaultEcs-World-SetMaxCapacity-T-(int)-maxCapacity 'DefaultEcs.World.SetMaxCapacity<T>(int).maxCapacity') cannot be negative.
diff --git a/documentation/api/DefaultEcs-World-SetMaximumComponentCount-T-(int).md b/documentation/api/DefaultEcs-World-SetMaximumComponentCount-T-(int).md
index b381ce1d..2a2bb3ef 100644
--- a/documentation/api/DefaultEcs-World-SetMaximumComponentCount-T-(int).md
+++ b/documentation/api/DefaultEcs-World-SetMaximumComponentCount-T-(int).md
@@ -1,10 +1,10 @@
#### [DefaultEcs](./index.md 'index')
### [DefaultEcs](./DefaultEcs.md 'DefaultEcs').[World](./DefaultEcs-World.md 'DefaultEcs.World')
## World.SetMaximumComponentCount<T>(int) Method
-Sets up the current [World](./DefaultEcs-World.md 'DefaultEcs.World') to handle component of type [T](#DefaultEcs-World-SetMaximumComponentCount-T-(int)-T 'DefaultEcs.World.SetMaximumComponentCount<T>(int).T') with a different maximum count than [MaxEntityCount](./DefaultEcs-World-MaxEntityCount.md 'DefaultEcs.World.MaxEntityCount').
+Sets up the current [World](./DefaultEcs-World.md 'DefaultEcs.World') to handle component of type [T](#DefaultEcs-World-SetMaximumComponentCount-T-(int)-T 'DefaultEcs.World.SetMaximumComponentCount<T>(int).T') with a different maximum count than [MaxCapacity](./DefaultEcs-World-MaxCapacity.md 'DefaultEcs.World.MaxCapacity').
If the type of component is already handled by the current [World](./DefaultEcs-World.md 'DefaultEcs.World'), does nothing.
```C#
-public bool SetMaximumComponentCount(int maxComponentCount);
+public bool SetMaximumComponentCount(int maxCapacity);
```
#### Type parameters
@@ -12,8 +12,8 @@ public bool SetMaximumComponentCount(int maxComponentCount);
The type of component.
#### Parameters
-
-`maxComponentCount` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
+
+`maxCapacity` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
The maximum number of component of type [T](#DefaultEcs-World-SetMaximumComponentCount-T-(int)-T 'DefaultEcs.World.SetMaximumComponentCount<T>(int).T') that can exist in this [World](./DefaultEcs-World.md 'DefaultEcs.World').
#### Returns
@@ -21,4 +21,4 @@ The maximum number of component of type [T](#DefaultEcs-World-SetMaximumComponen
Whether the maximum count has been setted or not.
#### Exceptions
[System.ArgumentException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentException 'System.ArgumentException')
-[maxComponentCount](#DefaultEcs-World-SetMaximumComponentCount-T-(int)-maxComponentCount 'DefaultEcs.World.SetMaximumComponentCount<T>(int).maxComponentCount') cannot be negative.
+[maxCapacity](#DefaultEcs-World-SetMaximumComponentCount-T-(int)-maxCapacity 'DefaultEcs.World.SetMaximumComponentCount<T>(int).maxCapacity') cannot be negative.
diff --git a/documentation/api/DefaultEcs-World-World(int).md b/documentation/api/DefaultEcs-World-World(int).md
index 9c6656c9..32251653 100644
--- a/documentation/api/DefaultEcs-World-World(int).md
+++ b/documentation/api/DefaultEcs-World-World(int).md
@@ -3,13 +3,13 @@
## World(int) Constructor
Initializes a new instance of the [World](./DefaultEcs-World.md 'DefaultEcs.World') class.
```C#
-public World(int maxEntityCount);
+public World(int maxCapacity);
```
#### Parameters
-
-`maxEntityCount` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
+
+`maxCapacity` [System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
The maximum number of [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') that can exist in this [World](./DefaultEcs-World.md 'DefaultEcs.World').
#### Exceptions
[System.ArgumentException](https://docs.microsoft.com/en-us/dotnet/api/System.ArgumentException 'System.ArgumentException')
-[maxEntityCount](#DefaultEcs-World-World(int)-maxEntityCount 'DefaultEcs.World.World(int).maxEntityCount') cannot be negative.
+[maxCapacity](#DefaultEcs-World-World(int)-maxCapacity 'DefaultEcs.World.World(int).maxCapacity') cannot be negative.
diff --git a/documentation/api/DefaultEcs-World.md b/documentation/api/DefaultEcs-World.md
index 7129a4c6..a6fa9c81 100644
--- a/documentation/api/DefaultEcs-World.md
+++ b/documentation/api/DefaultEcs-World.md
@@ -4,27 +4,35 @@
Represents a item used to create and manage [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity') objects.
```C#
public sealed class World :
+IEnumerable,
+IEnumerable,
IPublisher,
IDisposable
```
Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') > [World](./DefaultEcs-World.md 'DefaultEcs.World')
-Implements [IPublisher](./DefaultEcs-IPublisher.md 'DefaultEcs.IPublisher'), [System.IDisposable](https://docs.microsoft.com/en-us/dotnet/api/System.IDisposable 'System.IDisposable')
+Implements [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1'), [System.Collections.IEnumerable](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IEnumerable 'System.Collections.IEnumerable'), [IPublisher](./DefaultEcs-IPublisher.md 'DefaultEcs.IPublisher'), [System.IDisposable](https://docs.microsoft.com/en-us/dotnet/api/System.IDisposable 'System.IDisposable')
### Constructors
- [World()](./DefaultEcs-World-World().md 'DefaultEcs.World.World()')
- [World(int)](./DefaultEcs-World-World(int).md 'DefaultEcs.World.World(int)')
### Properties
+- [MaxCapacity](./DefaultEcs-World-MaxCapacity.md 'DefaultEcs.World.MaxCapacity')
- [MaxEntityCount](./DefaultEcs-World-MaxEntityCount.md 'DefaultEcs.World.MaxEntityCount')
### Methods
- [CreateEntity()](./DefaultEcs-World-CreateEntity().md 'DefaultEcs.World.CreateEntity()')
- [Dispose()](./DefaultEcs-World-Dispose().md 'DefaultEcs.World.Dispose()')
+- [Get<T>()](./DefaultEcs-World-Get-T-().md 'DefaultEcs.World.Get<T>()')
- [GetAllComponents<T>()](./DefaultEcs-World-GetAllComponents-T-().md 'DefaultEcs.World.GetAllComponents<T>()')
- [GetAllEntities()](./DefaultEcs-World-GetAllEntities().md 'DefaultEcs.World.GetAllEntities()')
+- [GetComponents<T>()](./DefaultEcs-World-GetComponents-T-().md 'DefaultEcs.World.GetComponents<T>()')
- [GetDisabledEntities()](./DefaultEcs-World-GetDisabledEntities().md 'DefaultEcs.World.GetDisabledEntities()')
- [GetEntities()](./DefaultEcs-World-GetEntities().md 'DefaultEcs.World.GetEntities()')
+- [GetEnumerator()](./DefaultEcs-World-GetEnumerator().md 'DefaultEcs.World.GetEnumerator()')
+- [GetMaxCapacity<T>()](./DefaultEcs-World-GetMaxCapacity-T-().md 'DefaultEcs.World.GetMaxCapacity<T>()')
- [GetMaximumComponentCount<T>()](./DefaultEcs-World-GetMaximumComponentCount-T-().md 'DefaultEcs.World.GetMaximumComponentCount<T>()')
- [Publish<T>(T)](./DefaultEcs-World-Publish-T-(T).md 'DefaultEcs.World.Publish<T>(T)')
- [ReadAllComponentTypes(DefaultEcs.Serialization.IComponentTypeReader)](./DefaultEcs-World-ReadAllComponentTypes(DefaultEcs-Serialization-IComponentTypeReader).md 'DefaultEcs.World.ReadAllComponentTypes(DefaultEcs.Serialization.IComponentTypeReader)')
+- [SetMaxCapacity<T>(int)](./DefaultEcs-World-SetMaxCapacity-T-(int).md 'DefaultEcs.World.SetMaxCapacity<T>(int)')
- [SetMaximumComponentCount<T>(int)](./DefaultEcs-World-SetMaximumComponentCount-T-(int).md 'DefaultEcs.World.SetMaximumComponentCount<T>(int)')
- [Subscribe<T>(DefaultEcs.ActionIn<T>)](./DefaultEcs-World-Subscribe-T-(DefaultEcs-ActionIn-T-).md 'DefaultEcs.World.Subscribe<T>(DefaultEcs.ActionIn<T>)')
- [ToString()](./DefaultEcs-World-ToString().md 'DefaultEcs.World.ToString()')
diff --git a/documentation/api/DefaultEcs.md b/documentation/api/DefaultEcs.md
index 3922a805..3b9f25d5 100644
--- a/documentation/api/DefaultEcs.md
+++ b/documentation/api/DefaultEcs.md
@@ -10,6 +10,7 @@ The [DefaultEcs](./DefaultEcs.md 'DefaultEcs') namespace contains types to put i
- [SubscribeAttribute](./DefaultEcs-SubscribeAttribute.md 'DefaultEcs.SubscribeAttribute')
- [World](./DefaultEcs-World.md 'DefaultEcs.World')
### Structs
+- [Components<T>](./DefaultEcs-Components-T-.md 'DefaultEcs.Components<T>')
- [Entity](./DefaultEcs-Entity.md 'DefaultEcs.Entity')
### Interfaces
- [IPublisher](./DefaultEcs-IPublisher.md 'DefaultEcs.IPublisher')