# ShapeClass.client_canInteractThroughJoint

Called to check whether the [Interactable](../Game-Script-Environment/Userdata/Interactable.md) can be interacted with through a child [Joint](../Game-Script-Environment/Userdata/Joint.md) at this moment.

**Kind:** Callback

**Environments:** Game

## Game

**Callback side:** Client

``` { .lua .api-signature }
ShapeClass:client_canInteractThroughJoint( character, joint )
```

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

> **Note:**
> This callback can also be used to change the interaction text shown to the player using [sm.gui.setInteractionText](../Game-Script-Environment/Static-Functions/sm.gui.md#setinteractiontext). (Defaults to "E Use")

**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 looking at the [Joint](../Game-Script-Environment/Userdata/Joint.md). |
| `joint` | [Joint](../Game-Script-Environment/Userdata/Joint.md) | The [Joint](../Game-Script-Environment/Userdata/Joint.md). |

**Returns:**

| Type | Description |
| --- | --- |
| boolean | A boolean indicating whether the interactable can be interacted with or not. (Defaults to true if [client_onInteractThroughJoint](../Game-Script-Environment/Classes/ShapeClass.md#client_oninteractthroughjoint) is implemented, otherwise false) |
