Entity Component System

This lesson describes how to use ConjureKit ECS (Entity, Component, System) to make the shared AR experience project more interactive and collaborative.

After the Hand tracker in shared AR lesson, the virtual cubes can interact with the hand and change color. Let's learn how to use ConjureKit Entity Component System to show the color to all the other participants.

Glossary

Entity: A general-purpose object that is uniquely identifiable. It could represent a participant or a 3d asset in a session, a player or enemy character, etc. Entities are identifiers with no inherent behavior or data, simply an integer (^uint^) in ConjureKit.

Component: A component represents some aspect we want to attach to Entities. For example, ConjureKit Entities need to have a position and rotation. The Pose Component in ConjureKit holds the position and rotation information of an entity. Other examples of component types can be a “Health” or a “Speed” component with float data to represent the current speed or health of an Entity, a "Character” or an “Environment” component that can store data about visuals. The data stored in a component is pure data (^byte[]^ in ConjureKit) and contains no behavior.

System: Systems are processes that operate on entities with certain components. Continuing with the Pose example, there is a ^PoseSystem^ whose only responsibility is handling entity position and rotation updates. Systems can add, remove or modify Components during runtime.

Before you begin

Before getting started, complete the following steps:

  1. Set up your development environment by following the steps in the Quickstart.
  2. Follow the Create a Simple shared AR Experience and Hand tracker in shared AR tutorials.

Unity & package versions

ConjureKit: v0.6.31
ARFoundation Integration: 0.6.35
Manna: v0.6.58
Ur: v0.6.5

1 hour
Difficulty:
Beginner

Need a refresher on real world web essentials?

Check out more content, examples, and reading material at the developer center homepage.

Want to build on the real world web and need a helping hand?

Apply for a hacker residency to work with us at our lab in Hong Kong.

We also offer grants of AUKI tokens to get your project off the ground and out to the market. Successful applicants may be granted up to 100k USD worth of AUKI tokens, as well as development, fundraising, and marketing support from the Auki team.