---
title: ControlWidgetTemplateBuilder
framework: swiftui
role: symbol
role_heading: Structure
path: swiftui/controlwidgettemplatebuilder
---

# ControlWidgetTemplateBuilder

A custom attribute that constructs a control widget template’s body.

## Declaration

```swift
@resultBuilder struct ControlWidgetTemplateBuilder
```

## Overview

Overview The @ControlWidgetTemplateBuilder attribute allows your control template’s body closure to produce a control template after zero or more other statements: struct GarageDoorOpener: ControlWidget {     var body: some ControlWidgetConfiguration {         let kind = "com.yourcompany.GarageDoorOpener"

StaticControlConfiguration(             kind: kind         ) {             let isOpen = ...

ControlWidgetToggle(                 "Garage Door",                 isOn: isOpen,                 action: ToggleGarageDoor()             ) {                 Label(                     $0 ? "Open" : "Closed",                     systemImage: $0 ?                         "door.garage.open" : "door.garage.closed"                 )             }         }     } }

## Topics

### Type Methods

- [buildBlock(_:)](swiftui/controlwidgettemplatebuilder/buildblock(_:).md)
- [buildExpression(_:)](swiftui/controlwidgettemplatebuilder/buildexpression(_:).md)

## See Also

### Composing control widgets

- [ControlWidget](swiftui/controlwidget.md)
- [ControlWidgetConfiguration](swiftui/controlwidgetconfiguration.md)
- [EmptyControlWidgetConfiguration](swiftui/emptycontrolwidgetconfiguration.md)
- [ControlWidgetConfigurationBuilder](swiftui/controlwidgetconfigurationbuilder.md)
- [ControlWidgetTemplate](swiftui/controlwidgettemplate.md)
- [EmptyControlWidgetTemplate](swiftui/emptycontrolwidgettemplate.md)
- [controlWidgetActionHint(_:)](swiftui/view/controlwidgetactionhint(_:).md)
- [controlWidgetStatus(_:)](swiftui/view/controlwidgetstatus(_:).md)
