Auto Settings 2.0.0-beta.5
UE 5.4–5.6Example project 2.0.0-beta.5
- General:
- UE 5.6 now supported.
- Added
AutoSettingsScalabilitySubsystemwhich handles running and caching the results of Unreal's synth benchmark, and determining quality settings based on the results. - Fixed CommonUI optional dependency which was being treated as required.
- Significant code restructuring, organization, cleanup, and comments.
- Example Project:
- Added an
Autooption to theOverallQualitysetting which usesAutoSettingsScalabilitySubsystemto determine the best settings for the user's hardware. - Added editor validation to ensure the example project is used with the correct version of the plugin.
- Added an
- Settings:
- Moved Setting UI widgets and utilities into a new
AutoSettingsUImodule for better separation of concerns. TheAutoSettingsmodule now contains the core settings framework, without any of the UI layer. - Added a new
SettingDefaultProviderclass that settings can use to dynamically provide default values. For example, enabling upscaling techniques by default based on compatible hardware. - Setting Dependencies renamed to Controlled Settings to be more clear about the direction of the relationship.
- Settings now save and apply their Controlled Settings automatically.
- Refactored
ApplySettingandSaveSettingAPI intoSetSetting. - Prevented modifying settings after the
SettingRegistryis deinitialized. This stops strange and unexpected behavior in editor if games are attempting to modify settings during or after the end of the play session.
- Moved Setting UI widgets and utilities into a new
- Console Variables:
- Console Variable Class system now registers native console variables from the engine subsystem so that they are available in editor.
- Console Variable Class system refactored to utilize templating for typed logic instead of macros.
- Fixed a crash that could happen with empty console variable string values.
- Input Mapping:
- Reworked
NegateAxisKeymodifier intoAxisDirectionto add the ability for players to change axis direction using player input mappings. For example, a player can now map "Gamepad Left Stick Down" to "Move Forward", which wasn't previously possible and would force it it to "Gamepad Left Stick Up" instead. The modifier will dynamically invert the mapping based on a saved scale stored with the mapping. - Implemented a caching layer to optimize fetching Enhanced Input data that is slow to lookup and doesn't change at runtime. This helps improve performance of the
AxisDirectionmodifier which is critical as it may be running every frame. - Added design-time previewing of Input Mapping widgets.
- Added validation for the
EnableUserSettingsEnhanced Input flag, which is required for AutoSettings to work.
- Reworked