# CharacterClass.client_onCollision

Called when the [Character](../Game-Script-Environment/Userdata/Character.md) collides with another object.

**Kind:** Callback

**Environments:** Game

## Game

**Callback side:** Client

``` { .lua .api-signature }
CharacterClass:client_onCollision(
    other,
    position,
    selfPointVelocity,
    otherPointVelocity,
    normal
)
```

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

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `self` | table | The class instance. |
| `other` | [Shape](../Game-Script-Environment/Userdata/Shape.md)/[Character](../Game-Script-Environment/Userdata/Character.md)/[Harvestable](../Game-Script-Environment/Userdata/Harvestable.md)/[Lift](../Game-Script-Environment/Userdata/Lift.md)/nil | The other object. Nil if terrain. |
| `position` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The position in world space where the collision occurred. |
| `selfPointVelocity` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The velocity that that the [Character](../Game-Script-Environment/Userdata/Character.md) had at the point of collision. |
| `otherPointVelocity` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The velocity that that the other object had at the point of collision. |
| `normal` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The collision normal between the [Character](../Game-Script-Environment/Userdata/Character.md) and the other other object. |
