---
title: SCNPhysicsContact
framework: scenekit
role: symbol
role_heading: Class
path: scenekit/scnphysicscontact
---

# SCNPhysicsContact

Detailed information about a contact between two physics bodies in a scene’s physics simulation.

## Declaration

```swift
class SCNPhysicsContact
```

## Overview

Overview You don’t create  SCNPhysicsContact instances directly; SceneKit automatically creates these objects whenever contacts occur. To receive contact messages, assign your custom class implementing the SCNPhysicsContactDelegate protocol to the contactDelegate property of your scene’s SCNPhysicsWorld obejct. Next, for each physics body in your scene, set the categoryBitMask and collisionBitMask properties to define which interactions should generate contact messages.

## Topics

### Inspecting the Contact Properties

- [nodeA](scenekit/scnphysicscontact/nodea.md)
- [nodeB](scenekit/scnphysicscontact/nodeb.md)
- [contactPoint](scenekit/scnphysicscontact/contactpoint.md)
- [contactNormal](scenekit/scnphysicscontact/contactnormal.md)
- [collisionImpulse](scenekit/scnphysicscontact/collisionimpulse.md)
- [penetrationDistance](scenekit/scnphysicscontact/penetrationdistance.md)

### Instance Properties

- [sweepTestFraction](scenekit/scnphysicscontact/sweeptestfraction.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Collision and Contact Detection

- [SCNPhysicsContactDelegate](scenekit/scnphysicscontactdelegate.md)
