Limen Framework 0.1 Help

ULimenModularSettingsSubsystem

Overview

ULimenModularSettingsSubsystem is an abstract class that serves as a manager for a specific set of settings. It handles tasks such as saving and resetting settings, and it acts as a wrapper around individual settings. This subsystem should not contain any specific information regarding a setting itself.

Properties

Type

Name

Access

Description

FPlayerPostLoginDelegate

OnPlayerPostLogin

Public

Delegate called when a player controller logs in.

FSettingUpdated

OnSettingUpdated

BlueprintAssignable

Event triggered when a setting is updated.

Functions

Return Type

Signature

Description

void

Initialize(FSubsystemCollectionBase& Collection)

Initializes the subsystem, loading default settings and attaching event handlers to settings.

void

Deinitialize()

Deinitializes the subsystem, saving settings and removing event handlers.

bool

ShouldCreateSubsystem(UObject* Outer) const

Determines if the subsystem should be created based on the outer object and server status.

void

PlayerControllerChanged(APlayerController* NewPlayerController)

Updates the current player controller and applies settings to it.

bool

CanEditSetting(const TSubclassOf< ULimenSetting >& Class) const

Checks if a setting can be edited based on its editable interface.

bool

EditSelectionSetting(const TSubclassOf< ULimenSetting >& Class, const FString& NewSelection)

Edits the selection of a setting to a new value.

bool

EditToggleSetting(const TSubclassOf< ULimenSetting >& Class, const bool NewState)

Edits the toggle state of a setting to a new value.

bool

EditValueSetting(const TSubclassOf< ULimenSetting >& Class, const float NewValue)

Edits the value of a setting to a new value.

void

ResetAllToDefault()

Resets all settings to their default values.

void

ResetSettingToDefault(const TSubclassOf< ULimenSetting >& Class)

Resets a specific setting to its default value.

ULimenSetting*

GetSetting(const TSubclassOf< ULimenSetting > Class) const

Retrieves a setting by its class type.

Usage & Implementation Notes

  • Threading Constraints: This subsystem should be used on the game thread.

  • Replication Requirements: None.

  • Memory Lifetime Management: Settings are managed within this subsystem, and their lifetime is tied to the subsystem's lifecycle.

  • Initialization Dependencies: The subsystem depends on ULimenLocalPlayerStorageSubsystem for initialization.

22 May 2026