# CyberM.settings — client runtime

Runs inside the game process. Reads and presentation are local; anything that changes shared state has to go through the server.

3 functions.

## request

```lua
CyberM.settings.request(group)
```

`GAME` — Requires a live game instance.

Asks the script bridge to list the variables of a group.

Asynchronous: request, then read with `values` a beat later.

| Parameter | Type | Required | Default |
|---|---|---|---|
| `group` | `string` | required | — |

Returns: `boolean`, `reason`

Registered in `ResourceHost.cpp` (line 6601) as `LuaSettingsRequest`.

## set

```lua
CyberM.settings.set(group, name, value)
```

`GAME` — Requires a live game instance.

Writes a settings variable.

Submits one local CyberM setting change through the settings backend. The key, value type and published bounds are validated; use `values()` to read the resulting projection.

| Parameter | Type | Required | Default |
|---|---|---|---|
| `group` | `string` | required | — |
| `name` | `string` | required | — |
| `value` | `integer` | required | — |

Returns: `boolean`, `reason`

Registered in `ResourceHost.cpp` (line 6603) as `LuaSettingsSet`.

## values

```lua
CyberM.settings.values()
```

`GAME` — Requires a live game instance.

The variables as the script last reported them.

Returns a snapshot of the settings currently published by the client backend. The returned table is a copy and modifying it does not apply changes.

Returns: `table of { name, value, minimum, maximum, step }`

Registered in `ResourceHost.cpp` (line 6602) as `LuaSettingsValues`.

