debug.setupvalue Synchronous

  • setupvalue

Replace one value captured by a Luau closure. This lets you change a closure’s state without rebuilding it.

Syntax
Luau
debug.setupvalue(target: Function | number, index: number, value: any) -> ()

Parameters

Function parameters
ParameterTypeDescription
targetFunction | numberA Luau function or visible stack level.
indexnumberOne-based upvalue slot.
valueanyNew captured value.

Returns

()

No value.

Example

Example
Luau
local message = "before"
local function readMessage() return message end
debug.setupvalue(readMessage, 1, "after")
print(readMessage()) -- after
Kawaii documentation