---
title: "SettingsPaneProviding, DroppyKit"
description: "Adopt to contribute a settings pane to the Droplets shop detail page and to embedded settings surfaces."
canonical: "https://getdroppy.app/docs/droppykit/api/settings-pane-providing"
last-updated: "2026-09-09"
---

# SettingsPaneProviding

Adopt to contribute a settings pane to the Droplets shop detail page and to embedded settings surfaces.

`@MainActor protocol SettingsPaneProviding : Droplet`

Root a pane in [`DropletSettingsPane`](https://getdroppy.app/docs/droppykit/api/droplet-settings-pane) and build it from the DroppyKit settings kit ([`DropletSettingsCard`](https://getdroppy.app/docs/droppykit/api/droplet-settings-card), [`DropletToggleRow`](https://getdroppy.app/docs/droppykit/api/droplet-toggle-row), [`settingsUnifiedPickerRow(title:subtitle:icon:iconColor:options:accessibilityLabel:groupPosition:isEnabled:isSelected:action:content:)`](https://getdroppy.app/docs/droppykit/api/settings-unified-picker-row-title-subtitle-icon-icon-color-options-accessibility-label-group-position-is-enabled-is-selected-action-content) and friends) so it renders as the native grouped form Droppy's own settings pages are built from. See [Settings panes](https://getdroppy.app/docs/droppykit/settings-panes).

- Important: Droppy draws the top of your droplet's page itself: your icon, your name, your summary and the maker badge. Start the pane with its first setting. Never open it with a card, hero or title carrying your icon or your name: it shows twice. The Droplet Store's validator refuses a pane that does.
- Note: Maturity: Stable. Covered by the 1.0 compatibility promise. Host support: mounted. Your pane is the body of your droplet's own page in Droppy's Settings, under the same hero and chrome one of Droppy's own gets. See [Host support](https://getdroppy.app/docs/droppykit/host-support).

## Properties

### settingsSearchEntries

`@MainActor var settingsSearchEntries: [SettingsSearchEntry] { get }`

Entries for the host's settings search. Defaults to none.

## Methods

### makeSettingsPane(context:)

`@MainActor func makeSettingsPane(context: SettingsPaneContext) -> AnyView`

Builds the settings pane. Called on demand; may be called multiple times per session, so return a fresh view each time and keep state in the droplet, not the view.
