---
title: "urlSession(_:assetDownloadTask:willDownloadTo:)"
framework: avfoundation
role: symbol
role_heading: Instance Method
path: "avfoundation/avassetdownloaddelegate/urlsession(_:assetdownloadtask:willdownloadto:)"
---

# urlSession(_:assetDownloadTask:willDownloadTo:)

Tells the delegate when a download task determines its download location.

## Declaration

```swift
optional func urlSession(_ session: URLSession, assetDownloadTask: AVAssetDownloadTask, willDownloadTo location: URL)
```

## Parameters

- `session`: The session the asset download task is on.
- `assetDownloadTask`: The download task.
- `location`: The URL the task downloads the asset to.

## Discussion

Discussion Save the returned URL to instantiate the asset in the future.

## See Also

### Responding to download events

- [urlSession(_:assetDownloadTask:didResolve:)](avfoundation/avassetdownloaddelegate/urlsession(_:assetdownloadtask:didresolve:).md)
- [urlSession(_:assetDownloadTask:didLoad:totalTimeRangesLoaded:timeRangeExpectedToLoad:)](avfoundation/avassetdownloaddelegate/urlsession(_:assetdownloadtask:didload:totaltimerangesloaded:timerangeexpectedtoload:).md)
- [urlSession(_:assetDownloadTask:didFinishDownloadingTo:)](avfoundation/avassetdownloaddelegate/urlsession(_:assetdownloadtask:didfinishdownloadingto:).md)
- [urlSession(_:assetDownloadTask:willDownloadVariants:)](avfoundation/avassetdownloaddelegate/urlsession(_:assetdownloadtask:willdownloadvariants:).md)
- [urlSession(_:assetDownloadTask:didReceive:)](avfoundation/avassetdownloaddelegate/urlsession(_:assetdownloadtask:didreceive:).md)
