Base Scenario Action

public abstract class BaseScenarioAction : IScenarioElement

Base class for one step of a scenario’s action sequence. Override the abstract Process(float deltaTime) method with your own logic, returning true once it’s done (some actions, like Wait, need several frames and keep returning false until they’re finished). New subclasses automatically appear in the Scenario Editor’s Actions dropdown.

For actions which need a unit target, derive from UnitTargetedAction instead (see Targets) - it adds a shared Target field.

Built-in action types:

Action

Description

Wait

Waits a set number of seconds before the next action runs.

SpawnUnits

Spawns a list of units for a target player, cycling through a list of spawn point Transforms.

MoveOrder

(unit-targeted) Sends the targeted units a move order to a destination waypoint.

CancelOrder

(unit-targeted) Cancels all current orders of the targeted units.

ChangeOwner

(unit-targeted) Changes the owner player of the targeted units.

ApplyDamage

(unit-targeted) Damages the targeted units by a set amount and damage type.

SelectUnit

(unit-targeted) Selects the targeted units.

AddResources

Adds an amount of a chosen resource to a target player.

ProduceUnits

Queues units into the production line of one or more Production buildings.

CameraLookAt

Moves the camera to a target point.

PingMinimap

Shows a minimap signal ping at a world point.

GameEnd

Ends the match - victory or defeat for the local player.

RunScript

Runs a custom script of yours (any component implementing IScenarioScript).

SkipRemainingActions

Completes the current scenario immediately, skipping any actions still queued after it.