ActionSystem

The ActionSystem provides an async-first framework for defining, executing, and canceling discrete units of work.

Overview

ActionSystem supports:

  • Async Execution — Full async/await support

  • Cancellation — Cancel running actions at any time

  • Sequential Execution — Execute action sequences in order

  • Runtime Data Binding — Bind variables between actions

Architecture

┌─────────────────────────────────────────────────────────────┐
│                      ActionPlayer                           │
│                   (MonoBehaviour Wrapper)                   │
└───────────────────────────┬─────────────────────────────────┘
                            │ owns

┌─────────────────────────────────────────────────────────────┐
│                        Action                                │
│                   (Abstract Base Class)                      │
│                            │                                 │
│                            ▼                                 │
│                    ActionVariables                           │
└─────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│                    ActionSequence                            │
│           (Executes Actions Sequentially)                    │
└─────────────────────────────────────────────────────────────┘

Quick Start

Creating an Action

Using ActionPlayer

  1. Add ActionPlayer component to a GameObject

  2. Assign your action in the Inspector

  3. Call Play() to execute

API Reference

Interfaces

Core Classes

Variables System

Built-in Actions

Last updated

Was this helpful?