Easy Chapter Generator
EnglishEspañol

Choose by responsibility

Objective Components

Scene-side detectors that inherit from Objective and request completion of one linked Ordered Objective.

Open Objective Components

Supporting Components

Helpers and serializable bridges used by a detector or an external system. They do not own progression.

Open Supporting Components

Actions

Reusable operations run from lifecycle configuration or project code, including transport and one-shot scene changes.

Open Actions

Services

Shared feedback behavior such as objective and Chapter completion audio.

Open Services

Match the component to the signal

Game signalUseAvoid when
Accepted UI choiceButtonObjectiveThe UI already has project code that can call the Chapter directly
All targets destroyedDestructionObjectiveTargets are disabled or pooled rather than destroyed
Several named signalsMultiActionObjectiveThe order itself needs several Ordered Objectives
Objects occupy destinationsObjectPlacementObjectivePlacement cannot be represented by trigger occupancy
Countdown elapsedTimedObjectiveNo explicit event will start the timer
Collider stays in a zoneTriggerObjectiveYou need path preview or arrival-only signaling
Player reaches a destinationWalkToObjectiveThe accepted object is not the player

The shared Objective contract

Every included Objective component uses the base Objective Link: an exact Objective ID, local IsCompleted state, and OnCompleted UnityEvent. A detector may notice its condition at any time, but completion succeeds only when the linked Ordered Objective is the current Active position of the selected Chapter. Repeated, early, late, or wrongly linked requests are rejected without replaying events.

Reset restores transient detector state; it does not clear all saved progress. The active Chapter resets relevant physical Objective components when it starts or steps back. Read each component's Reset section because timers, branches, occupancy flags, and cached colliders need different cleanup.

Review before choosing a detector

  • Identify the exact game signal and whether it is a one-time event, continuous state, or group condition.
  • Confirm one Ordered Objective exists and has a stable ID.
  • Decide whether the detector belongs in the scene, a prefab, project code, or a serializable integration.
  • Check required Unity physics, TMP, NavMesh, or adapter dependencies on the component page.
  • Test accepted completion, an early request, a duplicate request, and reset.

If none of the included detectors expresses the mechanic clearly, derive from Objective rather than forcing a misleading component. The complete tutorial is at Create a Custom Objective Component.

Published Runtime component inventory

CategoryPublished typesProgression role
Objective ComponentsObjective, ButtonObjective, DestructionObjective, MultiActionObjective, ObjectPlacementObjective, TimedObjective, TriggerObjective, WalkToObjectiveRequest completion for one linked Ordered Objective
Supporting ComponentsPlacementTrigger, IntegratedObjectiveReport placement occupancy or expose a serializable external completion bridge
ActionsDetonator, ObjectTransportActionRun reusable scene effects or delegate movement; never choose sequence order
ServicesChapterAudioPlayerPlay reusable objective and Chapter feedback without owning state
PickupObjective is deliberately absent

No PickupObjective class exists in the V1 Runtime or distribution. The earlier placeholder had no pickup detection or distinct behavior, so it was removed. Complete a pickup through a project-owned custom Objective, an IntegratedObjective, or the external completion API.

Runtime concepts stay outside the component taxonomy

ChapterManager, Chapter, ChapterObjective, their states, and progression services are documented under System Model and Runtime. They are not mixed into this detector/action list. Likewise, IProgressStore, IPathMovementAdapter, and INpcRouteAdapter are scripting contracts, not drag-and-drop Objective Components.