Set many properties on one live Instance in a single call
set-properties-bulkApply multiple property writes to one Roblox instance in a single operation, resolving it once and returning old/new values per property.
Instructions
WRITES LIVE GAME STATE. Resolve a Luau expression to a single Instance ONCE, then apply a list of property writes to it in order. For each property the OLD value is read, the new value is written, and the NEW value is read back — each step pcall-guarded so one bad property never aborts the others. This is the efficient way to reconfigure an instance with several changes at once (e.g. make a Part Anchored + CanCollide=false + Transparency=0.5 + a new Size in one round-trip) instead of issuing many set-instance-property calls. The writes happen sequentially within the same execution so the result is effectively atomic from the game's perspective for that frame. WARNING: this mutates the running game on the client — changes take effect immediately and may replicate. Returns { Path, results:[{ name, OldValue, NewValue, ok, error? }], okCount, failCount }, or { error } if the instance itself cannot be resolved. Signature: { instancePath: string, properties: {{ name: string, value: { kind: "string" | "number" | "boolean" | "nil" | "raw", value: string | number | boolean? } }}, threadContext: number? }. Phase: act; cost=medium; idempotency=idempotent-write. Requires: active-client, resolved-target, explicit-mutation-approval. Produces: operation-receipt. Verify with: get-instance-properties. Safety: MUTATING; writes live game/client state. On failure: inspect tool-schema for exact fields, defaults, constraints, and an invocation example.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| properties | Yes | Non-empty, ordered list of property assignments to apply, e.g. [{ name: 'Anchored', value: { kind: 'boolean', value: true } }, { name: 'Transparency', value: { kind: 'number', value: 0.5 } }, { name: 'Size', value: { kind: 'raw', value: 'Vector3.new(4,1,4)' } }]. Applied top-to-bottom. | |
| instancePath | Yes | Luau expression resolving to the single Instance to modify, e.g. 'game.Workspace.Part', 'game.Players.LocalPlayer.Character.Humanoid', or 'game:GetService("Lighting")'. Evaluated once as `return <instancePath>`. | |
| threadContext | No | Optional Roblox thread identity for this call; omit it to use the server default. |