Components and properties
Components are reusable behavior blocks attached to objects. They are similar to Unity components: an object can carry many components, each component has fields, and those fields can drive runtime behavior and flow graph nodes.
When to use a component
Use a component when the object needs durable behavior or structured state.
| Need | Component-shaped solution |
|---|---|
| Object can take damage | Health |
| Object participates in physics | Rigid Body 2D and Collider 2D |
| Object belongs to a team | Team |
| Object stores items | Inventory |
| Object can be tapped or dragged | Interactable, Draggable, Drop Zone |
| Object acts on a cooldown | Ability Cooldown |
| Object is a sticky projectile | Projectile (+ dynamic Rigid Body 2D + Collider 2D) |
Use Object Flow for event wiring. Use components for reusable state and capabilities.
Adding a component
- Select an object in Arrange.
- Open the Components card in the inspector.
- Click Add Component.
- Choose a built-in or project component.
- Configure its fields.
Some components add dependencies automatically. For example, adding a Health Bar can also require Health, because the bar needs a value to display.
Component fields
Component fields are typed values.
| Type | Example |
|---|---|
| Number | Max HP, speed, cooldown, amount |
| Bool | Enabled, starts active, is sensor |
| Text | Label, tag, event name |
| Choice | Body type, shape type, easing mode |
| Object or asset reference | Target, prefab, sound, animation clip |
Fields can be edited in the inspector, read by flow graphs, and used by component actions.
Components and Object Flow
Attached components extend the flow node catalog for that object.
| Component feature | Flow result |
|---|---|
| Action | A node that performs work, such as health.damage |
| Condition | A branch node, such as health.isAlive |
| Event | A trigger, such as health changed or item picked up |
| Field | Data available to expressions or field nodes |
Prefer component actions over duplicate graph logic. If Health already knows how to apply damage, use the Health action instead of manually subtracting from a variable.
Built-in components
Common built-ins include:
| Component | Use |
|---|---|
| Interactable | Modern tap/click interaction (prefer over legacy Tappable) |
| Draggable / Drop Zone | Drag-and-drop interactions |
| Motion / Sprite Renderer / Sprite Animator | Tweens, drawing, frame sequences |
| Health / Stats / Team / Health Bar | Combat state and display |
| Inventory / Pickup | Stored items and collectibles |
| Platformer / Top-Down / Side-Scroller Controller | Player movement |
| Spawner / Timer / Hazard / Projectile | Waves, clocks, damage zones, sticky shots |
| Collider 2D / Rigid Body 2D / Joint 2D / Ragdoll | Physics |
| Scene Camera | Play viewport camera |
See Built-in reference for the full catalog.
Project components
The Components workspace lets you create project-specific components without leaving the editor.
A project component can define:
- Fields
- Events
- Actions
- Conditions
- Visual action steps
- Optional script bodies
Use project components when a behavior appears on several objects and should be maintained in one place.
Inspector properties vs component fields
Object inspector properties describe the object itself: transform, name, art, visibility, interaction, and prefab sync.
Component fields describe one behavior attached to the object: Health HP, Collider shape, Spawner prefab, Inventory capacity, and so on.
Keep data where it belongs. A score value belongs in GameState; a door's target scene belongs on the door object or its component; an enemy's HP belongs in Health.