Watch a property change over time
watch-instance-propertyPoll one instance property at intervals to record sampled values and changes, helping debug timing, animation, or state issues like Visible toggles and Health drops.
Instructions
Poll a single property of an instance at a fixed interval for a bounded duration and record every sampled value plus whether it changed since the previous sample. Use this to debug timing/animation/state issues — e.g. confirm a Frame's Visible actually toggles when you click, watch a Humanoid's Health drop, or see whether a Value object updates. Returns { Path, Property, Samples = [{ t, value, changed }], changeCount }. The call blocks for roughly durationMs while sampling, so it is inherently synchronous; keep durations short. Signature: { instancePath: string, propertyName: string, checkIntervalMs: any?, durationMs: any?, threadContext: number? }. Phase: observe; cost=medium; idempotency=read-only. Requires: active-client, resolved-target. Produces: bounded-event-snapshot. Safety: read-only. On failure: inspect tool-schema for exact fields, defaults, constraints, and an invocation example.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| durationMs | No | Total time to watch in milliseconds (default: 3000, max: 30000). The tool blocks for about this long; perform the triggering action (click/type) shortly before or during the watch. | |
| instancePath | Yes | Dotted path to the instance to watch, starting at 'game' (e.g. 'game.Players.LocalPlayer.PlayerGui.HUD.HealthBar'). | |
| propertyName | Yes | Name of the single property to sample each interval (e.g. 'Visible', 'Text', 'Value', 'Health', 'Position'). | |
| threadContext | No | Optional Roblox thread identity for this call; omit it to use the server default. | |
| checkIntervalMs | No | Polling interval in milliseconds (default: 100, min: 10, max: 5000). Smaller catches fast transitions but produces more samples. |