Limen Framework 0.1 Help

ULimenSettingWidget

Overview

ULimenSettingWidget is an abstract base class used to create custom widgets for displaying and interacting with settings. It provides a framework for binding settings, handling updates, and notifying when settings are applied or editable state changes.

Properties

Type

Name

Access

Description

TWeakObjectPtr<ULimenSetting>

SettingPtr

Private

Weak pointer to the bound setting.

Functions

Return Type

Signature

Description

void

NativeConstruct()

Called when the widget is constructed. Binds the setting if it's valid.

void

BindSetting(ULimenSetting* InSetting)

Binds a setting to the widget and sets up event bindings.

template<typename T>

T* GetBoundSetting()

Retrieves the bound setting casted to type T. Requires T to be derived from ULimenSetting.

virtual void

SettingUpdated(const ULimenSetting* Setting)

Blueprint native event called when a setting is updated. Can be overridden in blueprints.

virtual void

SettingApplied(const ULimenSetting* Setting)

Blueprint native event called when a setting is applied. Can be overridden in blueprints.

virtual void

SettingEditableStateChanged(const ULimenSetting* Setting)

Blueprint native event called when the editable state of a setting changes. Can be overridden in blueprints.

virtual void

SettingBound(const ULimenSetting* Setting)

Blueprint native event called when a setting is bound to the widget. Can be overridden in blueprints.

ULimenValueSettingWidget

Overview

ULimenValueSettingWidget extends ULimenSettingWidget specifically for handling value settings. It provides a method to retrieve the bound value setting.

Properties

Type

Name

Access

Description

TWeakObjectPtr<ULimenValueSetting>

BoundSetting

Private

Weak pointer to the bound value setting.

Functions

Return Type

Signature

Description

void

BindSetting(ULimenSetting* InSetting)

Binds a value setting to the widget and sets up event bindings.

FORCEINLINE ULimenValueSetting* GetValueSetting() const

Retrieves the bound value setting.

ULimenSelectionSettingWidget

Overview

ULimenSelectionSettingWidget extends ULimenSettingWidget specifically for handling selection settings. It provides a method to retrieve the bound selection setting.

Properties

Type

Name

Access

Description

TWeakObjectPtr<ULimenSelectionSetting>

BoundSetting

Private

Weak pointer to the bound selection setting.

Functions

Return Type

Signature

Description

void

BindSetting(ULimenSetting* InSetting)

Binds a selection setting to the widget and sets up event bindings.

FORCEINLINE ULimenSelectionSetting* GetSelectionSetting() const

Retrieves the bound selection setting.

ULimenSettingsListWidget

Overview

ULimenSettingsListWidget is a container widget that displays a list of settings organized into categories. It resolves a subsystem to fetch settings and binds them to appropriate widgets based on their types.

Properties

Type

Name

Access

Description

TSubclassOf<[ULimenModularSettingsSubsystem](LimenModularSettingsSubsystem.md)>

ModularSettingsSubsystem

EditAnywhere, Category="Settings Subsystem"

The modular settings subsystem class.

TMap<TSubclassOf<ULimenSetting>, TSubclassOf<ULimenSettingWidget>>

SettingWidgetClasses

EditAnywhere, Category="Settings Display", meta=(AllowAbstract="true")

Mapping of setting classes to their corresponding widget classes.

TEnumAsByte<EVerticalAlignment>

SettingVerticalAlignment

EditAnywhere, Category="Settings"

Vertical alignment for settings.

TEnumAsByte<EHorizontalAlignment>

SettingHorizontalAlignment

EditAnywhere, Category="Settings"

Horizontal alignment for settings.

TEnumAsByte<EVerticalAlignment>

CategoryVerticalAlignment

EditAnywhere, Category="Categories"

Vertical alignment for categories.

TEnumAsByte<EHorizontalAlignment>

CategoryHorizontalAlignment

EditAnywhere, Category="Categories"

Horizontal alignment for categories.

FSlateColor

CategoryTextColor

EditAnywhere, Category="Categories"

Text color for category labels.

FSlateFontInfo

CategoryFont

EditAnywhere, Category="Categories"

Font information for category labels.

TEnumAsByte<ETextJustify::Type>

CategoryTextJustification

EditAnywhere, Category="Categories"

Text justification for category labels.

FMargin

CategoryTextMargin

EditAnywhere, Category="Categories"

Margin around category labels.

Functions

Return Type

Signature

Description

TSharedRef<SWidget>

RebuildWidget()

Rebuilds the widget's content based on the settings and categories.

virtual bool

AreParamsValid() const

Checks if the necessary parameters are valid (e.g., subsystem is set).

virtual void

ResolveSubsystem()

Resolves the modular settings subsystem from the owning local player.

TSubclassOf<ULimenSettingWidget>

GetSettingWidget(const ULimenSetting* Setting)

Retrieves the appropriate widget class for a given setting type.

Usage & Implementation Notes

  • Threading Constraints: This widget does not have any specific threading constraints.

  • Replication Requirements: Not applicable as this is a client-side widget.

  • Memory Lifetime Management: Uses weak pointers to manage object lifetimes, preventing memory leaks.

  • Initialization Dependencies: Depends on the ULimenModularSettingsSubsystem being set in the editor.

22 May 2026