Skip to main content

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 AutoSettingsScalabilitySubsystem which 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 Auto option to the OverallQuality setting which uses AutoSettingsScalabilitySubsystem to 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.
  • Settings:
    • Moved Setting UI widgets and utilities into a new AutoSettingsUI module for better separation of concerns. The AutoSettings module now contains the core settings framework, without any of the UI layer.
    • Added a new SettingDefaultProvider class 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 ApplySetting and SaveSetting API into SetSetting.
    • Prevented modifying settings after the SettingRegistry is 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.
  • 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 NegateAxisKey modifier into AxisDirection to 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 AxisDirection modifier which is critical as it may be running every frame.
    • Added design-time previewing of Input Mapping widgets.
    • Added validation for the EnableUserSettings Enhanced Input flag, which is required for AutoSettings to work.