Information about a real-world surface found by examining a point on the screen.


@interface ARHitTestResult : NSObject


If you use SceneKit or SpriteKit as your renderer, you can search for real-world surfaces at a screen point using:

Otherwise, you can search the camera image for real-world content using the ARFrame hitTest:types: method. Because a frame is independent of a view, for this method you pass a point specified in normalized image coordinates (where (0,0) is the top left corner of the image and (1,1) is the lower right).

All these methods return an array of ARHitTestResult objects describing the content found. The number and order of results in the array depends on the search types you specify and the order you specify them in. For example, consider the code below:

let results = view.hitTest(point, [.existingPlaneUsingGeometry, .estimatedHorizontalPlane])

This hitTest:types: call searches first for plane anchors already present in the session (according to the session configuration's planeDetection settings); returning any such results (in order of distance from the camera) as the first elements in the array. This call also (due to the ARHitTestResultTypeEstimatedHorizontalPlane request) attempts to determine whether the hit test ray intersects any horizontal surface not already found by plane detection, and returns that result (if any) as the last element in the array.


Identifying Results


The kind of detected feature the search result represents.


Possible types for specifying a hit-test search, or for the result of a hit-test search.


The anchor representing the detected surface, if any.

Examining Result Geometry


The distance, in meters, from the camera to the detected surface.


The position and orientation of the result relative to the world coordinate system.


The position and orientation of the result relative to the nearest anchor or feature point.


Inherits From