setrawmetatable Synchronous

Replace or clear a table, userdata, or string metatable directly. It is useful for a local object whose metamethod behavior you control.

Syntax
Luau
setrawmetatable(
    value: Table | userdata | string,
    metatable: Table?
) -> Table | userdata | string

Parameters

Function parameters
ParameterTypeDescription
valueTable | userdata | stringTable, userdata, or string to update.
metatableTable?Replacement table, or nil to clear the metatable.

Returns

Table | userdata | string

The original value.

Usage notes

Passing a Roblox Instance returns that Instance without changing its metatable.

Example

Example
Luau
local object = {}
setrawmetatable(object, { __tostring = function() return "ready" end })
print(tostring(object)) -- ready
Kawaii documentation