watch_property
Samples specified properties on a timer and logs an event whenever a value changes. Read-only monitoring for Unreal Engine objects.
Instructions
Sample properties on a timer and record an event whenever a value changes. Read-only.
names is one property name or a list. every=True records every sample instead of only changes. Read the results with poll_events; nothing is pushed.
interval_ms is clamped to at least 100 and defaults to 250. A pass that looks the object up costs roughly 10 to 25 ms of game-thread time on a game without object hash tables, so keep watches few and slow (250 ms or more).
The object is held between passes and rechecked with IsValid() on each one; a lookup happens only when it is gone or a read failed, so the watch follows a reference such as 'first:PlayerController' across respawns without paying a scan per pass. {kind: "stream", event: "resumed"} is recorded when the watch adopts a different object (by address) after the previous one stopped being valid or was lost, with the baseline reset so the first sample on the new object is not reported as a change; the same object coming back after a blip records nothing. If the reference stops resolving (usually a map transition) it records one {kind: "stream", event: "lost"} row and keeps retrying at a slow cadence. Only stop_stream ends a watch.
Labels are unique: reusing one raises. Stop a watch with stop_stream.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | ||
| every | No | ||
| label | Yes | ||
| names | Yes | ||
| interval_ms | No |