Overview
Introduction
8th Wall Studio utilizes an Entity Component System (ECS) architecture to manage entities and their behaviors.An entity exists within a space, which is owned by a world. The world represents the overarching environment or context, while spaces group entities together. For example, a world could contain a game level, with spaces organizing different areas or scenes. Entities within each space can have components such as position, rotation, scale, health, geometry, and material. Each component defines a distinct characteristic or behavior of the entity, enabling modular control over its attributes.
World
A World is the container for all spaces/entities, and exposes APIs for audio, events, 3D transforms, and more.
Space
A Space is a group of Entities. It also contains global settings for features like fog, skybox, and included spaces that are activated when the space is loaded. See more in Spaces.
Entities
Entities are 3D objects that form the backbone of any game or simulation in 8th Wall Studio. An entity by itself has no behavior or appearance; it simply acts as a container to which components can be attached. Entities are represented by a unique 64-bit integer called an Entity ID or eid. See more in Entities.
Components
Components are the building blocks that give entities their functionality. While an entity represents a blank object, in 8th Wall Studio, you can use built-in Components or create your own custom Components to define unique behaviors for your game. Components might define visual appearance, physical properties, input handling, or custom game logic. By combining multiple Components, you can create complex entities with rich behavior.
Relationships
Entities and components work together in a hierarchical manner. By composing entities out of different components, you can build diverse and complex game objects without the need for rigid inheritance structures.