---
title: Actors
description: The two base classes, the actors that ship with MotionActor, and the decorator that labels a command for editors.
sidebar:
  hidden: true
---

An actor is a class with signals for state and generator methods for commands. A scene
spawns actors and calls their commands. A [renderer](/docs/rendering/renderers) draws each one from
its resolved state.

## Base classes

**[Actor](/docs/actors/actor)**

State, commands, events and the lifecycle hooks.

**[LayoutActor](/docs/actors/layout-actor)**

An actor with a box, a transform, opacity and compositing.

Extend `LayoutActor` for anything drawn. Extend `Actor` for something with no box, such as a
clock or a sound manager.

## Built in

**[Camera2D](/docs/actors/camera2d)**

Pan, zoom, framing, follow and shake.

**[ClockActor](/docs/actors/clock-actor)**

Elapsed time, computed from the frame.

**[ComponentActor](/docs/actors/component-actor)**

A React function as the whole actor.

**[Group](/docs/actors/layout-actor#compositing)**

A box with one slot, for compositing a set of siblings as one.

**[Audio and sound effects](/docs/actors/audio)**

Clips, cue packs and sounds bound to events.

`Camera2D`, `ClockActor`, `ComponentActor` and `Group` come from `@motionactor/primitives`, and the
audio actors from `@motionactor/media`.

## Authoring

**[@command](/docs/actors/command)**

Labels a command and its parameters for editors.
