---
title: ARTrackedRaycast
framework: arkit
role: symbol
role_heading: Class
path: arkit/artrackedraycast
---

# ARTrackedRaycast

A raycast query that ARKit repeats in succession to give you refined results over time.

## Declaration

```swift
class ARTrackedRaycast
```

## Overview

Overview Tracked raycasting improves hit-testing techniques by repeating the query for a 3D position in succession. ARKit provides you with an updated position as it refines its understanding of world over time. To start a tracked raycast, you call trackedRaycast(_:updateHandler:) on your app’s current ARSession.

## Topics

### Stopping Tracking

- [stopTracking()](arkit/artrackedraycast/stoptracking().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

### Raycasting

- [Placing objects and handling 3D interaction](arkit/placing-objects-and-handling-3d-interaction.md)
- [ARRaycastQuery](arkit/arraycastquery.md)
- [ARRaycastResult](arkit/arraycastresult.md)
