---
title: "init(configuration:assetDownloadDelegate:delegateQueue:)"
framework: avfoundation
role: symbol
role_heading: Initializer
path: "avfoundation/avassetdownloadurlsession/init(configuration:assetdownloaddelegate:delegatequeue:)"
---

# init(configuration:assetDownloadDelegate:delegateQueue:)

Creates a URL session to download assets.

## Declaration

```swift
init(configuration: URLSessionConfiguration, assetDownloadDelegate delegate: (any AVAssetDownloadDelegate)?, delegateQueue: OperationQueue?)
```

## Parameters

- `configuration`: The configuration for this download session. The configuration you provide must be a background configuration or the system raises an exception.
- `delegate`: The delegate object to handle asset download progress updates and other session related events.
- `delegateQueue`: The queue to receive delegate callbacks on. If you specify nil, the system provides a serial queue.

## Return Value

Return Value A new download session.

## See Also

### Creating a download session

- [AVAssetDownloadDelegate](avfoundation/avassetdownloaddelegate.md)
