Instant Actions

v1.0

InstantAction.cs can be used for any Action that does something instantly β€” not over time. In general, if something can happen over time, then it should inherit from either ActionOverTime.cs or ActionOverTimeWithBaseValues.cs.

InstantAction is used for actions that complete immediately in a single frame. It does not run over time and does not require restart bookkeeping.

What to override

ExecuteInternal()

βœ… Yes (required)

Perform the instant effect

This is where the action’s logic lives

CanExecute()

β­• Optional

Validate state before execution

Return false to prevent execution

GetTargets() / Target interface methods

β­• Optional

If the action operates on targets

Use standard target selection helpers

OnActionStart()

❌ No

β€”

Not used for InstantActions

OnRestart()

❌ No

β€”

InstantActions do not restart

OnCleanupExecution()

❌ No

β€”

Nothing to clean up; execution ends immediately

Last updated