LimenKeyBindSettings Module
Subsystem Breakdown
Threading & Parallelism
Class Name | Role |
|---|---|
Manages the asynchronous process of rebinding a key mapping with a timeout. |
Input Management
Class Name | Role |
|---|---|
Manages input bindings for pawns and player controllers in the game. | |
Manages input key bindings for players and pawns, providing functionality to retrieve and modify action mappings. | |
Manages player mappable key settings with additional properties for input handling and editing options. |
Serialization & Data Management
Class Name | Role |
|---|---|
FSaveableEnhancedActionKeyMapping | A custom struct that extends |
Developer Settings
Class Name | Role |
|---|---|
Manages developer-specific settings for input key bindings in the Limen framework. |
Module Management
Class Name | Role |
|---|---|
FLimenKeyBindSettingsModule | Manages the lifecycle of the Limen Key Bind Settings module. |
Design Philosophy
The LimenKeyBindSettings module is designed to provide a robust and flexible system for managing input key bindings in games developed using the Limen framework. It includes support for asynchronous key rebinding, serialization of action mappings, and developer-specific settings, ensuring that developers can easily customize and manage input controls without compromising performance or scalability.
Recommended Integration
Custom Key Bindings: Developers can extend
ULimenPlayerMappableKeySettingsto add custom properties and behaviors specific to their game's needs.Asynchronous Rebinding: Utilize
ULimenAsyncActionKeyRebindfor handling key rebinding operations asynchronously, preventing the UI from freezing during long-running processes.Developer-Specific Settings: Leverage
ULimenKeyBindDeveloperSettingsto tailor input settings for developers, such as enabling debug modes or testing different bindings without affecting production settings.Serialization Support: Use
FSaveableEnhancedActionKeyMappingto save and load player-specific key mappings, ensuring that user preferences are preserved across sessions.