Entity Component System

Overview

Simulate manages entity state and updates by following the ECS pattern. If you are familiar with using an ECS then much of this section can be skipped, and you can jump to the section on Simulate specific requirements.

An ECS describes entities as a collection of components. Components are typically small structs that carry some amount of state. Components and entities do not directly implement any behaviours, instead behaviour is moved to a System, which acts on any entities that have a specific set of components. For example, a bouncing ball entity will have a transform component, describing the position, rotation and scale of the ball, and a physics component, describing the mass and elasticity of the ball. A physics system will query for any entities that have both a transform and physics component, and perform the required physics simulation upon them.

Within Simulate you have a choice of two ECS implementations. You can either use the EnTT integration, or the built in Simulate ECS.

The built in Simulate ECS is now considered legacy and should not be used on new projects. It will not recieve new features and at some point will be removed from Simulate.

Last updated