---
title: DockAccessory
framework: dockkit
role: symbol
role_heading: Class
path: dockkit/dockaccessory
---

# DockAccessory

Obtain accessory information and control tracking behavior.

## Declaration

```swift
final class DockAccessory
```

## Overview

Overview DockAccessory provides information about the dock accessory including its model name and firmware version. It also controls the dock accessory when you disable system tracking. Use DockAccesory to  perform animations, or explicitly control the position of the dock accessory in three-dimensional space by supplying coordinates in units of radians.  The collection of the X, Y, and Z values corresponding to pitch, yaw, and roll is the angular position of the dock accessory. If there are multiple subjects in a video frame, direct the dock accessory to focus on a particular area of the frame using setFramingMode(_:). important: DockKit throws a DockKitError.frameRateTooHigh exception if you animate or set the orientation of the dock accessory too quickly, so keep call rates at 2 times per second or less.

## Topics

### Selecting and tracking

- [selectSubject(at:)](dockkit/dockaccessory/selectsubject(at:).md)
- [track(_:cameraInformation:)](dockkit/dockaccessory/track(_:camerainformation:)-4yl9b.md)
- [track(_:cameraInformation:)](dockkit/dockaccessory/track(_:camerainformation:)-44mwn.md)
- [DockAccessory.Observation](dockkit/dockaccessory/observation.md)
- [DockAccessory.CameraInformation](dockkit/dockaccessory/camerainformation.md)
- [DockAccessory.CameraOrientation](dockkit/dockaccessory/cameraorientation.md)

### Performing animation

- [animate(motion:)](dockkit/dockaccessory/animate(motion:).md)
- [setRegionOfInterest(_:)](dockkit/dockaccessory/setregionofinterest(_:).md)
- [regionOfInterest](dockkit/dockaccessory/regionofinterest.md)
- [DockAccessory.Animation](dockkit/dockaccessory/animation.md)

### Setting position and limits

- [setLimits(_:)](dockkit/dockaccessory/setlimits(_:).md)
- [setOrientation(_:duration:relative:)](dockkit/dockaccessory/setorientation(_:duration:relative:)-2epe2.md)
- [setOrientation(_:duration:relative:)](dockkit/dockaccessory/setorientation(_:duration:relative:)-6b0fl.md)
- [setAngularVelocity(_:)](dockkit/dockaccessory/setangularvelocity(_:).md)

### Setting framing mode

- [setFramingMode(_:)](dockkit/dockaccessory/setframingmode(_:).md)
- [framingMode](dockkit/dockaccessory/framingmode-swift.property.md)
- [DockAccessory.FramingMode](dockkit/dockaccessory/framingmode-swift.enum.md)

### Getting position and limits

- [motionStates](dockkit/dockaccessory/motionstates-swift.property.md)
- [limits](dockkit/dockaccessory/limits-swift.property.md)
- [DockAccessory.MotionState](dockkit/dockaccessory/motionstate.md)
- [DockAccessory.MotionStates](dockkit/dockaccessory/motionstates-swift.struct.md)
- [DockAccessory.Limits](dockkit/dockaccessory/limits-swift.struct.md)

### Getting accessory information

- [firmwareVersion](dockkit/dockaccessory/firmwareversion.md)
- [hardwareModel](dockkit/dockaccessory/hardwaremodel.md)
- [identifier](dockkit/dockaccessory/identifier-swift.property.md)
- [DockAccessory.Identifier](dockkit/dockaccessory/identifier-swift.struct.md)
- [DockAccessory.Category](dockkit/dockaccessory/category.md)
- [DockAccessory.State](dockkit/dockaccessory/state.md)
- [DockAccessory.StateChange](dockkit/dockaccessory/statechange.md)
- [DockAccessory.StateChanges](dockkit/dockaccessory/statechanges.md)

### Inspecting the object

- [hash(into:)](dockkit/dockaccessory/hash(into:).md)
- [debugDescription](dockkit/dockaccessory/debugdescription.md)

### Structures

- [DockAccessory.AccessoryEvents](dockkit/dockaccessory/accessoryevents-swift.struct.md)
- [DockAccessory.BatteryState](dockkit/dockaccessory/batterystate.md)
- [DockAccessory.BatteryStates](dockkit/dockaccessory/batterystates-swift.struct.md)
- [DockAccessory.TrackedObject](dockkit/dockaccessory/trackedobject.md)
- [DockAccessory.TrackedPerson](dockkit/dockaccessory/trackedperson.md)
- [DockAccessory.TrackingState](dockkit/dockaccessory/trackingstate.md)
- [DockAccessory.TrackingStates](dockkit/dockaccessory/trackingstates-swift.struct.md)

### Instance Properties

- [accessoryEvents](dockkit/dockaccessory/accessoryevents-swift.property.md)
- [batteryStates](dockkit/dockaccessory/batterystates-swift.property.md)
- [trackingStates](dockkit/dockaccessory/trackingstates-swift.property.md)

### Instance Methods

- [selectSubjects(_:)](dockkit/dockaccessory/selectsubjects(_:).md)
- [setOrientation(_:duration:relative:)](dockkit/dockaccessory/setorientation(_:duration:relative:)-6h2ah.md)
- [setOrientation(_:duration:relative:)](dockkit/dockaccessory/setorientation(_:duration:relative:)-84z7i.md)
- [track(_:cameraInformation:image:)](dockkit/dockaccessory/track(_:camerainformation:image:)-3uuza.md)
- [track(_:cameraInformation:image:)](dockkit/dockaccessory/track(_:camerainformation:image:)-82m61.md)

### Enumerations

- [DockAccessory.AccessoryEvent](dockkit/dockaccessory/accessoryevent.md)
- [DockAccessory.BatteryChargeState](dockkit/dockaccessory/batterychargestate.md)
- [DockAccessory.TrackedSubjectType](dockkit/dockaccessory/trackedsubjecttype.md)

## Relationships

### Conforms To

- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Controlling the dock accessory

- [Controlling a DockKit accessory using your camera app](dockkit/controlling-a-dockkit-accessory-using-your-camera-app.md)
- [DockAccessoryManager](dockkit/dockaccessorymanager.md)
- [DockKitError](dockkit/dockkiterror.md)
