<!--
{
  "availability" : [
    "iOS: 8.0.0 - 26.0.0",
    "iPadOS: 8.0.0 - 26.0.0",
    "macCatalyst: 13.1.0 - 26.0.0",
    "macOS: 10.8.0 - 26.0.0",
    "tvOS: 9.0.0 - 26.0.0",
    "visionOS: 1.0.0 - 26.0.0",
    "watchOS: 3.0.0 - 26.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "SceneKit",
  "identifier" : "/documentation/SceneKit/SCNPhysicsVehicleWheel",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "SceneKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SCNPhysicsVehicleWheel"
  },
  "title" : "SCNPhysicsVehicleWheel"
}
-->

# SCNPhysicsVehicleWheel

The appearance and physical characteristics of an individual wheel associated with an physics vehicle behavior.

```
class SCNPhysicsVehicleWheel
```

## Overview

To use wheels in a vehicle simulation, include them when creating an [`SCNPhysicsVehicle`](/documentation/SceneKit/SCNPhysicsVehicle) object with the [`init(chassisBody:wheels:)`](/documentation/SceneKit/SCNPhysicsVehicle/init(chassisBody:wheels:)) initializer, then add the vehicle object to your scene’s physics world using the physics world’s [`addBehavior(_:)`](/documentation/SceneKit/SCNPhysicsWorld/addBehavior(_:)) method.

### Creating a Wheel

You create a wheel with an [`SCNNode`](/documentation/SceneKit/SCNNode) object whose contents provide the wheel’s visual representation—a geometry that rotates when the simulated vehicle rolls along a surface. The node representing a wheel must be a child of the node containing the physics body that serves as the vehicle’s chassis, and each wheel in a vehicle must reference a unique node. Typically, you load a scene file that contains a node hierarchy representing the vehicle and all of its wheels. Next, you designate which nodes serve as the body and wheels.

Because the [`SCNPhysicsVehicle`](/documentation/SceneKit/SCNPhysicsVehicle) behavior that a wheel is attached to manages its participation in the physics simulation, you don’t need to attach a physics body to the [`SCNNode`](/documentation/SceneKit/SCNNode) object representing a wheel.

### Changing a Wheel’s Physical Properties

The properties of a wheel define the geometry of its connection to the vehicle and simulate its size, traction, and suspension. You can change these properties after the wheel and the vehicle containing it have been added to the physics world. In this way, you can simulate effects such as variable suspension and flat tires.

> Note:
> Vehicles and their wheels have several properties measured in real-world units (meters, centimeters, and newtons) with default values that produce realistic behavior for vehicles of size similar to an average automobile. If you design your scene on a different scale, proportionally change the values of these properties to fit the desired behavior of your app or game.

## Topics

### Creating a Wheel

[`+  wheelWithNode:`](/documentation/SceneKit/SCNPhysicsVehicleWheel/init(node:))

Creates a wheel object.

### Managing a Wheel’s Connection to a Vehicle

[`connectionPosition`](/documentation/SceneKit/SCNPhysicsVehicleWheel/connectionPosition)

The position of the wheel’s connection to the vehicle’s chassis.

[`axle`](/documentation/SceneKit/SCNPhysicsVehicleWheel/axle)

The direction of the axis that the wheel spins around to move the vehicle.

[`steeringAxis`](/documentation/SceneKit/SCNPhysicsVehicleWheel/steeringAxis)

The direction of the axis that the wheel pivots around to steer the vehicle.

### Simulating Wheel Size

[`radius`](/documentation/SceneKit/SCNPhysicsVehicleWheel/radius)

The radius of the wheel.

### Simulating Traction

[`frictionSlip`](/documentation/SceneKit/SCNPhysicsVehicleWheel/frictionSlip)

The traction between the wheel and any surface in contact with it.

### Simulating Suspension

[`suspensionStiffness`](/documentation/SceneKit/SCNPhysicsVehicleWheel/suspensionStiffness)

The spring coefficient of the suspension between the vehicle and the wheel.

[`suspensionCompression`](/documentation/SceneKit/SCNPhysicsVehicleWheel/suspensionCompression)

The coefficient that limits the speed of the suspension returning to its rest length when compressed.

[`suspensionDamping`](/documentation/SceneKit/SCNPhysicsVehicleWheel/suspensionDamping)

The damping ratio that limits oscillation in the vehicle’s suspension.

[`maximumSuspensionTravel`](/documentation/SceneKit/SCNPhysicsVehicleWheel/maximumSuspensionTravel)

The maximum distance that the wheel is allowed to move up or down relative to its connection point, in centimeters.

[`maximumSuspensionForce`](/documentation/SceneKit/SCNPhysicsVehicleWheel/maximumSuspensionForce)

The maximum force of the suspension between the vehicle and the wheel, in newtons.

[`suspensionRestLength`](/documentation/SceneKit/SCNPhysicsVehicleWheel/suspensionRestLength)

The resting length of the suspension, in meters.

### Inspecting the Wheel Node

[`node`](/documentation/SceneKit/SCNPhysicsVehicleWheel/node)

The node providing the wheel’s visual representation.

## Relationships

### Conforms To

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSCopying`](/documentation/Foundation/NSCopying)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CVarArg`](/documentation/Swift/CVarArg)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`Equatable`](/documentation/Swift/Equatable)

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`Hashable`](/documentation/Swift/Hashable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)