Skip to main content

Description

Sets a property value by adding a delta to the current value. This is useful for relative transformations like moving objects, adjusting sizes, or modifying values by a specific amount. Supports numeric values, Vector3, Vector2, UDim2, and CFrame types.

HTTP Endpoint

POST /tools/set_relative_property

Parameters

path
string
required
The path to the instance (e.g., “game.Workspace.Part”)
property
string
required
The name of the property to modify
delta
any
required
The value to add to the current property. For CFrame properties, this value is multiplied instead of added. Will be automatically converted from JSON to the appropriate Roblox type.

Response

ok
boolean
Returns true if the property was successfully set
newValue
any
The new value that was set, serialized to JSON format
error
string
Error message if the operation failed (path not found, property doesn’t exist, unsupported type, etc.)

Supported Types

  • number: Addition (current + delta)
  • Vector3: Addition (current + delta)
  • Vector2: Addition (current + delta)
  • UDim2: Addition (current + delta)
  • CFrame: Multiplication (current * delta)

Code Examples

Move a part up by 5 studs

{
  "path": "game.Workspace.Part",
  "property": "Position",
  "delta": { "x": 0, "y": 5, "z": 0 }
}

Increase transparency by 0.1

{
  "path": "game.Workspace.Part",
  "property": "Transparency",
  "delta": 0.1
}

Scale size by adding to dimensions

{
  "path": "game.Workspace.Part",
  "property": "Size",
  "delta": { "x": 2, "y": 0, "z": 2 }
}

Move UI element relatively

{
  "path": "game.StarterGui.ScreenGui.Frame",
  "property": "Position",
  "delta": { "X": { "Scale": 0, "Offset": 10 }, "Y": { "Scale": 0, "Offset": 0 } }
}

Rotate a part (CFrame)

{
  "path": "game.Workspace.Part",
  "property": "CFrame",
  "delta": { "rotation": { "x": 0, "y": 1.5708, "z": 0 } }
}

Decrease a number by using negative delta

{
  "path": "game.Workspace.IntValue",
  "property": "Value",
  "delta": -10
}

Example Response

Success

{
  "ok": true,
  "newValue": { "x": 10, "y": 15, "z": 0 }
}

Unsupported type error

{
  "error": "set_relative_property not supported for type: string"
}

Property read error

{
  "error": "Cannot read property"
}

Notes

  • For numeric types (number, Vector3, Vector2, UDim2), the delta is added to the current value
  • For CFrame types, the delta is multiplied with the current value (useful for rotations and relative transformations)
  • The property must exist and be readable before it can be modified
  • To decrease values, use negative deltas for numeric types

Build docs developers (and LLMs) love