2 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

RuntimeUndoBehavior

RuntimeUndoBehavior is the type of the ChangeHistoryService.RuntimeUndoBehavior property and determines what Studio does when a waypoint is requested (via ChangeHistoryService:SetWaypoint() or the recording API) while the game is in the run state (i.e., during a playtest). The three values offer different trade-offs between undo granularity and physics-change handling.

The default behavior is RuntimeUndoBehavior.Aggregate: waypoints are suppressed during the run, all runtime edits accumulate into a single waypoint, and they are all reverted at once when the playtest stops or resets.

Items

NameValueDescription
Aggregate0Rejects waypoint requests during a run session; all runtime changes accumulate into a single waypoint that is reverted together when the session stops or resets.
Snapshot1Accepts waypoint requests during a run session and captures a snapshot of each instance's position and velocity at every waypoint boundary so that physics state can be fully restored on undo.
Hybrid2Accepts waypoint requests during a run session but excludes unsolicited physics changes (position and velocity drift from simulation) from the recorded history.

Aggregate

Rejects waypoint requests during a run session; all runtime changes accumulate into a single waypoint that is reverted together when the session stops or resets.

FieldValue
value0

Snapshot

Accepts waypoint requests during a run session and captures a snapshot of each instance's position and velocity at every waypoint boundary so that physics state can be fully restored on undo.

FieldValue
value1

Hybrid

Accepts waypoint requests during a run session but excludes unsolicited physics changes (position and velocity drift from simulation) from the recorded history.

FieldValue
value2