---
title: "init(_:configuration:)"
framework: extensionkit
role: symbol
role_heading: Initializer
path: "extensionkit/appextensionsceneconfiguration/init(_:configuration:)"
---

# init(_:configuration:)

Creates a scene configuration object from a closure and extension configuration.

## Declaration

```swift
@MainActor @preconcurrency init<Content, Configuration>(_ content: @autoclosure @escaping @MainActor () -> Content, configuration: Configuration? = nil) where Content : AppExtensionScene, Configuration : AppExtensionConfiguration
```

## Parameters

- `content`: The SwiftUI closure from which to build the scene’s content.
- `configuration`: An optional extension configuration file.

## Discussion

Discussion To provide a user interface, the extension’s configuration must be an AppExtensionSceneConfiguration, which combines an AppExtensionScene with an optional non-UI AppExtensionConfiguration. The configuration value you pass manages global interprocess communications with the host process, while the content value defines the extension’s user interface.

## See Also

### Creating the configuration

- [init(_:)](extensionkit/appextensionsceneconfiguration/init(_:).md)
