LaunchBoxCONTRIBUTORS
On this page

14.1 Beta 1 SDK

This reference documents the current beta SDK. Beta APIs can change before stable.

IEmulatorSettingsProvider14.1 Beta

C#
public interface Unbroken.LaunchBox.Plugins.Emulators.IEmulatorSettingsProvider
Describes the settings LaunchBox displays for one configured emulator, stores against that emulator, and hands back at launch.

Remarks

LaunchBox owns presentation, pending edits, platform inheritance, and the master enable switch. The integration owns persistence through its plugin-scoped services and the meaning of each setting. Implement Unbroken.LaunchBox.Plugins.Emulators.IEmulatorLaunchPreparer as well to consume loaded values through Unbroken.LaunchBox.Plugins.Emulators.EmulatorLaunchPreparationRequest.EmulatorSettings.

Methods

CopySettingsAsync 14.1 Beta

C#
System.Threading.Tasks.Task CopySettingsAsync(Unbroken.LaunchBox.Plugins.Data.IEmulator source, Unbroken.LaunchBox.Plugins.Data.IEmulator destination, System.Threading.CancellationToken cancellationToken)
Copies plugin-owned settings as part of the host's emulator copy operation.
source 14.1 Beta
The original emulator entry.
destination 14.1 Beta
The copied entry. Its ID may be unchanged for an in-memory clone.
cancellationToken 14.1 Beta
Cancels the operation.

Returns

A task completing after any required settings copy succeeds.

Remarks

Preserve all platform overrides. A same-ID clone references the same persisted settings and must not overwrite them.

DeleteSettingsAsync 14.1 Beta

C#
System.Threading.Tasks.Task DeleteSettingsAsync(Unbroken.LaunchBox.Plugins.Data.IEmulator emulator, System.Threading.CancellationToken cancellationToken)
Removes plugin-owned settings when an emulator entry is deleted.
emulator 14.1 Beta
The entry being deleted.
cancellationToken 14.1 Beta
Cancels the operation.

Returns

A task completing after removal succeeds.

GetSettingsPage 14.1 Beta

C#
Unbroken.LaunchBox.Plugins.Forms.PluginConfigurationForm? GetSettingsPage(Unbroken.LaunchBox.Plugins.Data.IEmulator emulator)
Gets the settings page for one configured emulator.
emulator 14.1 Beta
The emulator whose settings are being opened.

Returns

The page to display, or null when the integration exposes no settings for this emulator.

Remarks

LaunchBox calls this while the user browses the emulator edit window and never on the game launch path, so it may inspect the installed emulator to decide which settings that build supports. Return a scoped form with load, validation, and submission callbacks bound to this emulator. Choices can be built from current state, such as the monitors attached right now. A setting the emulator cannot support is best omitted from the page, and any value already stored for an omitted setting must be treated as omitted at launch.

LoadSettingsAsync 14.1 Beta

C#
System.Threading.Tasks.Task<Unbroken.LaunchBox.Plugins.Forms.PluginConfigurationValues> LoadSettingsAsync(Unbroken.LaunchBox.Plugins.Data.IEmulator emulator, System.Threading.CancellationToken cancellationToken)
Loads a detached settings snapshot for a specific emulator entry.
emulator 14.1 Beta
The entry whose stable ID identifies its settings.
cancellationToken 14.1 Beta
Cancels the operation.

Returns

The saved settings, or empty explicit values for a new entry.

SaveSettingsAsync 14.1 Beta

C#
System.Threading.Tasks.Task SaveSettingsAsync(Unbroken.LaunchBox.Plugins.Data.IEmulator emulator, Unbroken.LaunchBox.Plugins.Forms.PluginConfigurationValues settings, System.Threading.CancellationToken cancellationToken)
Persists the settings accepted by the user in the shared editor.
emulator 14.1 Beta
The entry receiving the settings.
settings 14.1 Beta
The complete snapshot, including base values and platform overrides.
cancellationToken 14.1 Beta
Cancels the operation.

Returns

A task completing when the settings have been saved.

Remarks

Use plugin-scoped storage keyed by emulator ID. Throw on failure; the host keeps the editor open and reports a localized error. Do not persist edits during page construction or validation.