# ShapeClass.client_onTinker

Called when a [Player](../Game-Script-Environment/Userdata/Player.md) is tinkering with the [Interactable](../Game-Script-Environment/Userdata/Interactable.md) by pressing the 'Tinker' key (default 'U').

**Kind:** Callback

**Environments:** Game

## Game

**Callback side:** Client

``` { .lua .api-signature }
ShapeClass:client_onTinker( character, state )
```

[Open the full Game reference](../Game-Script-Environment/Classes/ShapeClass.md#client_ontinker)

> **Note:**
> Tinkering usually means opening the upgrade menu for seats.

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `self` | table | The class instance. |
| `character` | [Character](../Game-Script-Environment/Userdata/Character.md) | The [Character](../Game-Script-Environment/Userdata/Character.md) of the [Player](../Game-Script-Environment/Userdata/Player.md) that is tinkering with the [Interactable](../Game-Script-Environment/Userdata/Interactable.md). |
| `state` | boolean | The interaction state. (true if pressed, false if released) |
