Limen Framework 0.1 Help

ULimenSetting

Overview

ULimenSetting is an abstract base class that defines the core functionality of a setting within the LimenModularSettings module. It inherits from ULimenStorageItem and provides methods to manage and apply settings, as well as events for when settings are updated or applied. Subclasses must implement specific logic for setting defaults, applying current settings, and handling initialization.

Properties

Type

Name

Access

Description

FText

Description

Public

A description of the setting.

TObjectPtr<[ULimenModularSettingsSubsystem](LimenModularSettingsSubsystem.md)>

OwnerSubsystem

Protected

The subsystem that owns this setting.

Functions

Return Type

Signature

Description

const FText&

GetDescription() const

Returns the description of the setting.

void

ApplySetting(bool bUserRequest = false)

Applies the current setting and notifies the OnSettingApplied delegate.

bool

IsApplied() const

Checks if the setting is currently applied.

virtual void

SetDefaultValue()

Sets the default value of the setting.

void

InitializeSetting(ULimenModularSettingsSubsystem* InOwnerSubsystem)

Initializes the setting with a reference to its owner subsystem.

virtual void

SubsystemInitialized(ULimenModularSettingsSubsystem* ModularSettingsSubsystem)

Called when the subsystem has initialized all settings.

virtual void

SetDefaults()

Sets default values for the setting, such as possible states and default state.

UFUNCTION(BlueprintImplementableEvent)

BP_SetDefaults()

Blueprint-implementable version of SetDefaults.

virtual void

ApplyCurrentSetting(bool bUserRequest = false)

Applies the current setting without notifying the OnSettingChanged delegate.

void

SetIsApplied(bool bNewIsApplied)

Sets whether the setting is applied or not.

virtual void

PostDataLoaded() override

Called after data has been loaded, applying the current setting.

virtual bool

ShouldLoadData() const override

Determines if data should be loaded for this setting.

Usage & Implementation Notes

  • Threading Constraints: None.

  • Replication Requirements: None.

  • Memory Lifetime Management: The OwnerSubsystem is managed by the subsystem that initializes it, ensuring proper lifetime management.

  • Initialization Dependencies: Subclasses must call InitializeSetting with a valid ULimenModularSettingsSubsystem.

Properties (Table: Type | Name | Access | Description)

Type

Name

Access

Description

FText

Description

Public

A description of the setting.

TObjectPtr< ULimenModularSettingsSubsystem >

OwnerSubsystem

Protected

The subsystem that owns this setting.

Functions (Table: Return Type | Signature | Description)

Return Type

Signature

Description

const FText&

GetDescription() const

Returns the description of the setting.

void

ApplySetting(bool bUserRequest = false)

Applies the current setting and notifies the OnSettingApplied delegate.

bool

IsApplied() const

Checks if the setting is currently applied.

virtual void

SetDefaultValue()

Sets the default value of the setting.

void

InitializeSetting(ULimenModularSettingsSubsystem* InOwnerSubsystem)

Initializes the setting with a reference to its owner subsystem.

virtual void

SubsystemInitialized(ULimenModularSettingsSubsystem* ModularSettingsSubsystem)

Called when the subsystem has initialized all settings.

virtual void

SetDefaults()

Sets default values for the setting, such as possible states and default state.

UFUNCTION(BlueprintImplementableEvent)

BP_SetDefaults()

Blueprint-implementable version of SetDefaults.

virtual void

ApplyCurrentSetting(bool bUserRequest = false)

Applies the current setting without notifying the OnSettingChanged delegate.

void

SetIsApplied(bool bNewIsApplied)

Sets whether the setting is applied or not.

virtual void

PostDataLoaded() override

Called after data has been loaded, applying the current setting.

virtual bool

ShouldLoadData() const override

Determines if data should be loaded for this setting.

Usage & Implementation Notes

  • Threading Constraints: None.

  • Replication Requirements: None.

  • Memory Lifetime Management: The OwnerSubsystem is managed by the subsystem that initializes it, ensuring proper lifetime management.

  • Initialization Dependencies: Subclasses must call InitializeSetting with a valid ULimenModularSettingsSubsystem.

22 May 2026