---
title: ARGeoTrackingStatus.StateReason.visualLocalizationFailed
framework: arkit
role: symbol
role_heading: Case
path: arkit/argeotrackingstatus/statereason-swift.enum/visuallocalizationfailed
---

# ARGeoTrackingStatus.StateReason.visualLocalizationFailed

Localization imagery failed to match the view from the device’s camera.

## Declaration

```swift
case visualLocalizationFailed
```

## Discussion

Discussion ARKit provides this reason when visual localization is taking too long. This indicates that the app has met all requirements for geo tracking, except for visual localization. In this situation, the app needs to ask the user to pan the device around the physical environment to acquire more camera-feed imagery. For more information, see Assisting the User with Visual Localization.

## See Also

### Status Reasons

- [ARGeoTrackingStatus.StateReason.none](arkit/argeotrackingstatus/statereason-swift.enum/none.md)
- [ARGeoTrackingStatus.StateReason.notAvailableAtLocation](arkit/argeotrackingstatus/statereason-swift.enum/notavailableatlocation.md)
- [ARGeoTrackingStatus.StateReason.needLocationPermissions](arkit/argeotrackingstatus/statereason-swift.enum/needlocationpermissions.md)
- [ARGeoTrackingStatus.StateReason.devicePointedTooLow](arkit/argeotrackingstatus/statereason-swift.enum/devicepointedtoolow.md)
- [ARGeoTrackingStatus.StateReason.worldTrackingUnstable](arkit/argeotrackingstatus/statereason-swift.enum/worldtrackingunstable.md)
- [ARGeoTrackingStatus.StateReason.waitingForLocation](arkit/argeotrackingstatus/statereason-swift.enum/waitingforlocation.md)
- [ARGeoTrackingStatus.StateReason.waitingForAvailabilityCheck](arkit/argeotrackingstatus/statereason-swift.enum/waitingforavailabilitycheck.md)
- [ARGeoTrackingStatus.StateReason.geoDataNotLoaded](arkit/argeotrackingstatus/statereason-swift.enum/geodatanotloaded.md)
- [ARGeoTrackingStatus.StateReason.none](arkit/argeotrackingstatus/statereason-swift.enum/none.md)
- [ARGeoTrackingStatus.StateReason.notAvailableAtLocation](arkit/argeotrackingstatus/statereason-swift.enum/notavailableatlocation.md)
- [ARGeoTrackingStatus.StateReason.needLocationPermissions](arkit/argeotrackingstatus/statereason-swift.enum/needlocationpermissions.md)
- [ARGeoTrackingStatus.StateReason.devicePointedTooLow](arkit/argeotrackingstatus/statereason-swift.enum/devicepointedtoolow.md)
- [ARGeoTrackingStatus.StateReason.worldTrackingUnstable](arkit/argeotrackingstatus/statereason-swift.enum/worldtrackingunstable.md)
- [ARGeoTrackingStatus.StateReason.waitingForLocation](arkit/argeotrackingstatus/statereason-swift.enum/waitingforlocation.md)
- [ARGeoTrackingStatus.StateReason.waitingForAvailabilityCheck](arkit/argeotrackingstatus/statereason-swift.enum/waitingforavailabilitycheck.md)
