---
title: CPManeuver
framework: carplay
role: symbol
role_heading: Class
path: carplay/cpmaneuver
---

# CPManeuver

An object that describes a single navigation instruction.

## Declaration

```swift
class CPManeuver
```

## Overview

Overview You use maneuvers to provide turn-by-turn guidance in navigation apps. Each maneuver represents a single navigation instruction and can include a symbol, an instruction, and estimates for remaining time and distance. You supply an instruction as an array of variants, each with a different length. CarPlay chooses the longest variant that best fits the available space on the screen. You can optionally provide attributed variants that embed images using NSTextAttachment. See attributedInstructionVariants for more information. In addition to the route guidance panel, you can show maneuvers on the CarPlay dashboard or in notification banners. Use the relevant properties to provide context-specific instructions and images.

## Topics

### Providing instructions

- [dashboardInstructionVariants](carplay/cpmaneuver/dashboardinstructionvariants.md)
- [notificationInstructionVariants](carplay/cpmaneuver/notificationinstructionvariants.md)

### Providing attributed instructions

- [attributedInstructionVariants](carplay/cpmaneuver/attributedinstructionvariants.md)
- [dashboardAttributedInstructionVariants](carplay/cpmaneuver/dashboardattributedinstructionvariants.md)
- [notificationAttributedInstructionVariants](carplay/cpmaneuver/notificationattributedinstructionvariants.md)

### Providing travel estimates

- [initialTravelEstimates](carplay/cpmaneuver/initialtravelestimates.md)

### Providing symbol images

- [symbolImage](carplay/cpmaneuver/symbolimage.md)
- [dashboardSymbolImage](carplay/cpmaneuver/dashboardsymbolimage.md)
- [notificationSymbolImage](carplay/cpmaneuver/notificationsymbolimage.md)
- [symbolSet](carplay/cpmaneuver/symbolset.md)

### Providing junction images

- [junctionImage](carplay/cpmaneuver/junctionimage.md)
- [dashboardJunctionImage](carplay/cpmaneuver/dashboardjunctionimage.md)

### Providing junction information

- [junctionType](carplay/cpmaneuver/junctiontype.md)
- [junctionExitAngle](carplay/cpmaneuver/junctionexitangle.md)
- [junctionElementAngles](carplay/cpmaneuver/junctionelementangles.md)

### Providing maneuver information

- [maneuverType](carplay/cpmaneuver/maneuvertype.md)
- [roadFollowingManeuverVariants](carplay/cpmaneuver/roadfollowingmaneuvervariants.md)
- [linkedLaneGuidance](carplay/cpmaneuver/linkedlaneguidance.md)
- [highwayExitLabel](carplay/cpmaneuver/highwayexitlabel.md)
- [trafficSide](carplay/cpmaneuver/trafficside.md)

### Providing additional information

- [userInfo](carplay/cpmaneuver/userinfo.md)

### Instance properties

- [cardBackgroundColor](carplay/cpmaneuver/cardbackgroundcolor.md)

### Initializers

- [init(coder:)](carplay/cpmaneuver/init(coder:).md)

### Instance Properties

- [instructionVariants](carplay/cpmaneuver/instructionvariants.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)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Maneuvers

- [CPManeuverState](carplay/cpmaneuverstate.md)
- [CPManeuverType](carplay/cpmaneuvertype.md)
