---
title: "setscriptable"
description: "Changes the validated property scriptability bit and returns the previous effective state."
---

```lua
setscriptable(instance: Instance, property: string, enabled: boolean): boolean
```

---

## Aliases

None.

---

## Arguments

<ParamField body="instance" type="Instance" required>
  The Roblox Instance to operate on.
</ParamField>

<ParamField body="property" type="string" required>
  The case-sensitive property name.
</ParamField>

<ParamField body="enabled" type="boolean" required>
  Whether the reflected property should be scriptable.
</ParamField>

---

## Returns

<ResponseField name="previous" type="boolean">
  The previous scriptability state; false can also indicate a resolution/write failure.
</ResponseField>

False is ambiguous: it can be the previous state or a failed resolution/write. Descriptor changes may affect more than one instance of a class; restore state.

---

## Example

```lua
local part = Instance.new("Part")
local previous = setscriptable(part, "Name", true)
setscriptable(part, "Name", previous)
part:Destroy()
```
