# sm.joint

A <strong>joint</strong> is a part that can be built by a player that is used to connect [bodies](../Game-Script-Environment/Userdata/Body.md). There are multiple scriptable joint types:

**Kind:** API page

**Environments:** Game

## Game

[Open the full Game reference](../Game-Script-Environment/Static-Functions/sm.joint.md)

- The <strong>bearing</strong> allows two bodies to revolve freely around each other. (See [Interactable.getBearings](../Game-Script-Environment/Userdata/Interactable.md#getbearings))
- The <strong>piston</strong> extends and contracts to change the distance between two bodies. (See [Interactable.getPistons](../Game-Script-Environment/Userdata/Interactable.md#getpistons))
