---
title: "init(_:as:widget:timelineProvider:)"
framework: developertoolssupport
role: symbol
role_heading: Initializer
path: "developertoolssupport/preview/init(_:as:widget:timelineprovider:)"
---

# init(_:as:widget:timelineProvider:)

Creates a preview of a widget with a static configuration.

## Declaration

```swift
@MainActor init(_ name: String? = nil, as family: WidgetFamily, widget: @escaping () -> some Widget, timelineProvider: @escaping () -> some TimelineProvider)
```

## Discussion

Discussion The #Preview macro expands into a declaration that calls this initializer. To create a preview that appears in the canvas, you must use the macro, not instantiate a Preview directly.

## See Also

### Creating a preview of a widget

- [init(_:as:using:widget:contentStates:)](developertoolssupport/preview/init(_:as:using:widget:contentstates:).md)
- [init(_:as:using:widget:timelineProvider:)](developertoolssupport/preview/init(_:as:using:widget:timelineprovider:)-1if5u.md)
- [init(_:as:using:widget:timelineProvider:)](developertoolssupport/preview/init(_:as:using:widget:timelineprovider:)-5335n.md)
- [init(_:as:widget:timeline:)](developertoolssupport/preview/init(_:as:widget:timeline:).md)
