<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://sbtools.dev/auto-settings/versions/</id>
    <title>Auto Settings releases</title>
    <updated>2026-07-24T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://sbtools.dev/auto-settings/versions/"/>
    <subtitle>SB Tools Blog</subtitle>
    <icon>https://sbtools.dev/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[2.2.1]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.2.1/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.2.1/"/>
        <updated>2026-07-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Fixed Basic Input Mapping Selector displaying the example project's demo key label instead of the plugin-owned basic key label which was causing errors in some cases. Fixed initialization and PIE restoration for settings managed by another setting.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Fixed <code>Basic Input Mapping Selector</code> displaying the example project's demo key label instead of the plugin-owned basic key label which was causing errors in some cases.</li>
<li class="">Fixed initialization and PIE restoration for settings managed by another setting.</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
        <category label="UE 5.7" term="UE 5.7"/>
        <category label="UE 5.8" term="UE 5.8"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.2.0]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.2.0/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.2.0/"/>
        <updated>2026-06-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New: UE 5.8 now supported. Input binding clear support for remapping widgets. InputMappingSettingWidget now supports clear actions during capture via ClearKeys. Added ClearMapping function to support manual clearing. Added support for configurable handling when a key is rejected during capture (continue capture vs. stop capture). Improved: Input capture control and filtering properties moved to InputMappingSettingWidget instead of the global input project settings. Existing values from the project settings are used as the defaults so that they are not lost. Fixed: Hardened rich text decorator rendering. Fixed crashes in decorator rendering when icon data is missing or the action is unbound. Added safe text fallback rendering (- when unbound). Added earlier validation for input mapping setting keys against authored mapping contexts to prevent ensure() being triggered later on. Example project: Added Escape and Gamepad Special Right as mapping capture escape key in WBP_DemoInputMappingSelector.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">New:<!-- -->
<ul>
<li class="">UE 5.8 now supported</li>
<li class="">Input binding clear support for remapping widgets<!-- -->
<ul>
<li class=""><code>InputMappingSettingWidget</code> now supports clear actions during capture via <code>ClearKeys</code>.</li>
<li class="">Added <code>ClearMapping</code> function to support manual clearing.</li>
</ul>
</li>
<li class="">Added support for configurable handling when a key is rejected during capture (continue capture vs. stop capture).</li>
</ul>
</li>
<li class="">Improved:<!-- -->
<ul>
<li class="">Input capture control and filtering properties moved to <code>InputMappingSettingWidget</code> instead of the global input project settings.<!-- -->
<ul>
<li class="">Existing values from the project settings are used as the defaults so that they are not lost.</li>
</ul>
</li>
</ul>
</li>
<li class="">Fixed:<!-- -->
<ul>
<li class="">Hardened rich text decorator rendering<!-- -->
<ul>
<li class="">Fixed crashes in decorator rendering when icon data is missing or the action is unbound.</li>
<li class="">Added safe text fallback rendering (- when unbound).</li>
</ul>
</li>
<li class="">Added earlier validation for input mapping setting keys against authored mapping contexts to prevent <code>ensure()</code> being triggered later on.</li>
</ul>
</li>
<li class="">Example project:<!-- -->
<ul>
<li class="">Added <code>Escape</code> and <code>Gamepad Special Right</code> as mapping capture escape key in <code>WBP_DemoInputMappingSelector</code>.</li>
</ul>
</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
        <category label="UE 5.7" term="UE 5.7"/>
        <category label="UE 5.8" term="UE 5.8"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.1.3]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.1.3/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.1.3/"/>
        <updated>2026-05-29T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Fixed CQTest plugin dependency issue causing launch failures in some scenarios. Cleaned up some warnings.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Fixed CQTest plugin dependency issue causing launch failures in some scenarios</li>
<li class="">Cleaned up some warnings</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
        <category label="UE 5.7" term="UE 5.7"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.1.2]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.1.2/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.1.2/"/>
        <updated>2026-05-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Fixed Linux Clang compilation errors.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Fixed Linux Clang compilation errors</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
        <category label="UE 5.7" term="UE 5.7"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.1.1]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.1.1/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.1.1/"/>
        <updated>2026-05-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Fixed a test module dependency issue that was causing launch failures when CommonUI plugin was not enabled.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Fixed a test module dependency issue that was causing launch failures when CommonUI plugin was not enabled.</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
        <category label="UE 5.7" term="UE 5.7"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.1.0]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.1.0/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.1.0/"/>
        <updated>2026-04-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Added project settings to choose automatic or manual initialization for global and player setting registries. Manual mode lets games defer the first registration and apply pass until Blueprint or C++ calls Initialize on the configured SettingRegistry. Fixed Auto Settings Common Combo Box String so close handling is restored after the widget's Slate resources are released and rebuilt.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Added project settings to choose automatic or manual initialization for global and player setting registries. Manual mode lets games defer the first registration and apply pass until Blueprint or C++ calls <code>Initialize</code> on the configured <code>SettingRegistry</code>.</li>
<li class="">Fixed <code>Auto Settings Common Combo Box String</code> so close handling is restored after the widget's Slate resources are released and rebuilt.</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
        <category label="UE 5.7" term="UE 5.7"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.0.1]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.0.1/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.0.1/"/>
        <updated>2026-03-29T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Fixed console variable asset change handling so unrelated Blueprint assets are not loaded during updates. Fixed PawnPossessedSettingBindingTrigger so bindings now invalidate and rebind when the owning local player's active PlayerController changes, not just when the current controller possesses a new pawn.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Fixed console variable asset change handling so unrelated Blueprint assets are not loaded during updates.</li>
<li class="">Fixed <code>PawnPossessedSettingBindingTrigger</code> so bindings now invalidate and rebind when the owning local player's active <code>PlayerController</code> changes, not just when the current controller possesses a new pawn.</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
        <category label="UE 5.7" term="UE 5.7"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.0.0]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.0.0/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.0.0/"/>
        <updated>2026-03-17T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This entry summarizes the final changes since 2.0.0-beta.7. For the full 1.x to 2.0 transition, see the earlier 2.0.0 beta release notes below. New: Added manual applied-value callback registration on SettingRegistry as an alternative to using a BindingStrategy. Added reusable binding triggers to invalidate and recreate runtime bindings when their target context changes, such as when a player possesses a new pawn. Added resolved setting key previews and config path validation improvements in the editor. Added an Enhanced Input Scale By Setting modifier for setting-based input scaling. Improved: Renamed SettingApplicationStrategy to SettingBindingStrategy. BindingStrategy is now optional because the registry owns the source of truth for the applied value and the strategy is only used to sync with game systems. Renamed ButtonGroupSetting to ButtonGroupSettingWidget and ResolutionOptionFactory to ResolutionOptionSource for consistency. Fixed: Fixed a crash in Auto Settings Common Combo Box String caused by back-handler re-registration. Fixed Windows launcher-engine / Clang build compatibility issues. Example Project: Added a description side panel. Updated menu styling. Improved focus handling and navigation. Added separate controller and keyboard/mouse look sensitivity settings using the setting scalar input modifier. Field of view and controller icon settings now use per-player bindings. Fixed local multiplayer and splitscreen issues, including duplicate menu opening.]]></summary>
        <content type="html"><![CDATA[<p>This entry summarizes the final changes since <code>2.0.0-beta.7</code>. For the full <code>1.x</code> to <code>2.0</code> transition, see the earlier <code>2.0.0</code> beta release notes below.</p>
<ul>
<li class="">New:<!-- -->
<ul>
<li class="">Added manual applied-value callback registration on <code>SettingRegistry</code> as an alternative to using a <code>BindingStrategy</code>.</li>
<li class="">Added reusable binding triggers to invalidate and recreate runtime bindings when their target context changes, such as when a player possesses a new pawn.</li>
<li class="">Added resolved setting key previews and config path validation improvements in the editor.</li>
<li class="">Added an Enhanced Input <code>Scale By Setting</code> modifier for setting-based input scaling.</li>
</ul>
</li>
<li class="">Improved:<!-- -->
<ul>
<li class="">Renamed <code>SettingApplicationStrategy</code> to <code>SettingBindingStrategy</code>.</li>
<li class=""><code>BindingStrategy</code> is now optional because the registry owns the source of truth for the applied value and the strategy is only used to sync with game systems.</li>
<li class="">Renamed <code>ButtonGroupSetting</code> to <code>ButtonGroupSettingWidget</code> and <code>ResolutionOptionFactory</code> to <code>ResolutionOptionSource</code> for consistency.</li>
</ul>
</li>
<li class="">Fixed:<!-- -->
<ul>
<li class="">Fixed a crash in <code>Auto Settings Common Combo Box String</code> caused by back-handler re-registration.</li>
<li class="">Fixed Windows launcher-engine / Clang build compatibility issues.</li>
</ul>
</li>
<li class="">Example Project:<!-- -->
<ul>
<li class="">Added a description side panel.</li>
<li class="">Updated menu styling.</li>
<li class="">Improved focus handling and navigation.</li>
<li class="">Added separate controller and keyboard/mouse look sensitivity settings using the setting scalar input modifier.</li>
<li class="">Field of view and controller icon settings now use per-player bindings.</li>
<li class="">Fixed local multiplayer and splitscreen issues, including duplicate menu opening.</li>
</ul>
</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
        <category label="UE 5.7" term="UE 5.7"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.0.0-beta.7]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.0.0-beta.7/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.0.0-beta.7/"/>
        <updated>2025-11-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Fixed a crash that could occur using Auto Settings Common Combo Box String while the game is paused.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Fixed a crash that could occur using <code>Auto Settings Common Combo Box String</code> while the game is paused</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.0.0-beta.6]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.0.0-beta.6/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.0.0-beta.6/"/>
        <updated>2025-08-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New: Console Variable Setting Application Strategy now provides a dedicated Console Variable Name property on Setting Widgets that are using it. Fixed an initialization order issue that was causing Input Mappings to fail in 5.6 due to changes in Enhanced Input User Settings initialization timing. Fixed an issue with a check() being hit when exiting the game in standalone mode.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">New: <code>Console Variable Setting Application Strategy</code> now provides a dedicated <code>Console Variable Name</code> property on Setting Widgets that are using it.</li>
<li class="">Fixed an initialization order issue that was causing Input Mappings to fail in 5.6 due to changes in <code>Enhanced Input User Settings</code> initialization timing.</li>
<li class="">Fixed an issue with a check() being hit when exiting the game in standalone mode.</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.0.0-beta.5]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.0.0-beta.5/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.0.0-beta.5/"/>
        <updated>2025-08-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[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.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">General:<!-- -->
<ul>
<li class="">UE 5.6 now supported.</li>
<li class="">Added <code>AutoSettingsScalabilitySubsystem</code> which handles running and caching the results of Unreal's synth benchmark, and determining quality settings based on the results.</li>
<li class="">Fixed CommonUI optional dependency which was being treated as required.</li>
<li class="">Significant code restructuring, organization, cleanup, and comments.</li>
</ul>
</li>
<li class="">Example Project:<!-- -->
<ul>
<li class="">Added an <code>Auto</code> option to the <code>OverallQuality</code> setting which uses <code>AutoSettingsScalabilitySubsystem</code> to determine the best settings for the user's hardware.</li>
<li class="">Added editor validation to ensure the example project is used with the correct version of the plugin.</li>
</ul>
</li>
<li class="">Settings:<!-- -->
<ul>
<li class="">Moved Setting UI widgets and utilities into a new <code>AutoSettingsUI</code> module for better separation of concerns. The <code>AutoSettings</code> module now contains the core settings framework, without any of the UI layer.</li>
<li class="">Added a new <code>SettingDefaultProvider</code> class that settings can use to dynamically provide default values. For example, enabling upscaling techniques by default based on compatible hardware.</li>
<li class="">Setting Dependencies renamed to Controlled Settings to be more clear about the direction of the relationship.</li>
<li class="">Settings now save and apply their Controlled Settings automatically.</li>
<li class="">Refactored <code>ApplySetting</code> and <code>SaveSetting</code> API into <code>SetSetting</code>.</li>
<li class="">Prevented modifying settings after the <code>SettingRegistry</code> 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.</li>
</ul>
</li>
<li class="">Console Variables:<!-- -->
<ul>
<li class="">Console Variable Class system now registers native console variables from the engine subsystem so that they are available in editor.</li>
<li class="">Console Variable Class system refactored to utilize templating for typed logic instead of macros.</li>
<li class="">Fixed a crash that could happen with empty console variable string values.</li>
</ul>
</li>
<li class="">Input Mapping:<!-- -->
<ul>
<li class="">Reworked <code>NegateAxisKey</code> modifier into <code>AxisDirection</code> 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.</li>
<li class="">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 <code>AxisDirection</code> modifier which is critical as it may be running every frame.</li>
<li class="">Added design-time previewing of Input Mapping widgets.</li>
<li class="">Added validation for the <code>EnableUserSettings</code> Enhanced Input flag, which is required for AutoSettings to work.</li>
</ul>
</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.0.0-beta.4]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.0.0-beta.4/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.0.0-beta.4/"/>
        <updated>2025-05-12T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Blueprint-exposed functions in SettingRegistry to manually apply and save settings: ApplySettingByType. ApplySettingByKey. SaveSettingByType. SaveSettingByKey. Added functions to allow changing the represented setting of control widgets at runtime: SetSetting on AutoSettingWidget. SetMapping on InputMappingSettingWidget. Renamed all setting widgets to end with SettingWidget for clarity and consistency. Renamed SettingStorageStrategy to SettingPersistenceStrategy for clarity about it's purpose. Fixed a crash if the EnhancedInputUserSettings is null. Fixed a crash when the SettingType on an AutoSettingWidget is null. Added CoreRedirects for Auto Settings 1 Console functions to their new Auto Settings 2 counterparts so that the functions don't break when updating. Combined functions such as RegisterIntConsoleVariable and RegisterIntConsoleVariableWithCallback for all applicable types. Now RegisterIntConsoleVariable functions allow for passing in an optional callback, rather than needing a separate function.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Blueprint-exposed functions in <code>SettingRegistry</code> to manually apply and save settings:<!-- -->
<ul>
<li class=""><code>ApplySettingByType</code></li>
<li class=""><code>ApplySettingByKey</code></li>
<li class=""><code>SaveSettingByType</code></li>
<li class=""><code>SaveSettingByKey</code></li>
</ul>
</li>
<li class="">Added functions to allow changing the represented setting of control widgets at runtime:<!-- -->
<ul>
<li class=""><code>SetSetting</code> on <code>AutoSettingWidget</code></li>
<li class=""><code>SetMapping</code> on <code>InputMappingSettingWidget</code></li>
</ul>
</li>
<li class="">Renamed all setting widgets to end with <code>SettingWidget</code> for clarity and consistency.</li>
<li class="">Renamed <code>SettingStorageStrategy</code> to <code>SettingPersistenceStrategy</code> for clarity about it's purpose.</li>
<li class="">Fixed a crash if the <code>EnhancedInputUserSettings</code> is null.</li>
<li class="">Fixed a crash when the <code>SettingType</code> on an <code>AutoSettingWidget</code> is null.</li>
<li class="">Added CoreRedirects for Auto Settings 1 Console functions to their new Auto Settings 2 counterparts so that the functions don't break when updating.</li>
<li class="">Combined functions such as <code>RegisterIntConsoleVariable</code> and <code>RegisterIntConsoleVariableWithCallback</code> for all applicable types. Now <code>RegisterIntConsoleVariable</code> functions allow for passing in an optional callback, rather than needing a separate function.</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.0.0-beta.3]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.0.0-beta.3/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.0.0-beta.3/"/>
        <updated>2025-02-08T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Fixed a crash if a Key Icon Source is not specified in the project settings. Fixed some crashes and ensures that could occur during multiplayer Play In Editor. Fixed a crash if the wrong Enhanced Input User Settings class is specified in the project settings. Fixed an issue where using F11 to change fullscreen mode would reset some of the scalability settings, due to Unreal's default GameUserSettings object. This requires assigning a new AutoSettingsGameUserSettings class in the project settings. Code improvements and cleanup. Example Project: Disabled ticking in the open settings prompt widget which was triggering a crash in CommonUI. Fixed some errors occuring in multiplayer from the server attempting to access the settings of remote players.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Fixed a crash if a Key Icon Source is not specified in the project settings.</li>
<li class="">Fixed some crashes and ensures that could occur during multiplayer Play In Editor.</li>
<li class="">Fixed a crash if the wrong Enhanced Input User Settings class is specified in the project settings.</li>
<li class="">Fixed an issue where using F11 to change fullscreen mode would reset some of the scalability settings, due to Unreal's default GameUserSettings object. This requires assigning a new AutoSettingsGameUserSettings class in the project settings.</li>
<li class="">Code improvements and cleanup</li>
</ul>
<p>Example Project:</p>
<ul>
<li class="">Disabled ticking in the open settings prompt widget which was triggering a crash in CommonUI.</li>
<li class="">Fixed some errors occuring in multiplayer from the server attempting to access the settings of remote players.</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.0.0-beta.2]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.0.0-beta.2/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.0.0-beta.2/"/>
        <updated>2025-01-12T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[UE 5.5 now supported.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">UE 5.5 now supported</li>
</ul>]]></content>
        <category label="UE 5.5" term="UE 5.5"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[2.0.0-beta.1]]></title>
        <id>https://sbtools.dev/auto-settings/versions/2.0.0-beta.1/</id>
        <link href="https://sbtools.dev/auto-settings/versions/2.0.0-beta.1/"/>
        <updated>2024-09-16T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Auto Settings 2 contains significant changes across the board. It's very compatibility-breaking and it would be wise to consider it a completely new plugin that would require integration almost from scratch. If you're interested in trying this beta release, get it through Fab Additional Files using the Downloads flow. Auto Settings 2 does not support legacy input in Unreal. Support for beta versions is limited, and they are not recommended for shipping. Fully reworked modular settings framework. The core of the plugin has been fully reworked into a new modular framework. The same functionality as Auto Settings 1 is still possible, but it's now a lot more flexible and easier to configure to a game's specific needs. Projects can define Setting Type classes to control the functionality of one or more settings. Setting Types can specify strategies to control how the settings that use them are applied and persisted. Each individual setting is uniquely represented by a Setting Key. There can be many individual Setting Keys for different settings under a single Setting Type. Setting Keys are hierarchical, similar to Gameplay Tags, which can be used to group settings. Widgets that are placed in the UI are bound to these Setting Types or Setting Keys, rather than directly to Console Variables like the old system. Setting Application Strategy controls how settings are applied. The default strategy uses console variables to apply settings, which is the same behavior as Auto Settings 1. Setting Storage Strategy controls how settings are saved and loaded. The default strategy uses config files to save settings, which is the same behavior as Auto Settings 1. Setting Registries are a new feature that allow multiple of the same setting to exist in different contexts and scopes. Setting Registries allow a project to separate player-specific settings that may need to apply to individual local or splitscreen players, such as input mappings. By default, there is a Global Registry for settings like video and audio settings, and registry for each local player to manage that player's settings. Default values for all settings are tracked automatically, and individual settings can now be easily reset to their default values. Reworked input mappings. The previous input mapping system has been deprecated and input mappings are now handled by the new settings framework. Input mappings now support Enhanced Input. (Legacy input is no longer supported.). Input mappings are now Settings as part of the new settings framework. Input mapping settings use the Input Mapping Application Strategy, which applies the mapping to the player's Enhanced Input mappings. This should help input mappings feel more consistent with the rest of the settings in the plugin, giving them the many of the same features and API instead of a completely separate system like they were in Auto Settings 1. Added a Rich Text Block decorator that allows text to be dynamically substituted with button icons representing actions or specific keys at runtime. The Input Mapping Setting widget (previously Action Input Mapping / Axis Input Mapping + Bind Capture Button widgets) now uses an input processor to listen for inputs. This should be more consistent and less prone to interference from Slate Focus and Game UI mode, and other input systems such as CommonUI. The Input Mapping Setting listening state no longer requires a prompt widget to be created, as the listening logic is now decoupled from the UI representation. The plugin now contains an option in the project settings to invert the right gamepad thumbstick vertical axis, in order to reverse the inversion that Unreal applies to it by default. This is intended to help with consistency when allowing thumbsticks to be remapped between different actions. Console Variable Classes. Auto Settings 2 includes a new feature for Console Variable Classes. Console Variable Classes can be created in Blueprint which can auto-register console variables and manage their logic, more closely reflecting how console variables are authored in c++. Because they are discovered and registered by the plugin, this can be controlled more reliably than using the GameInstance Init function which was the approach in Auto Settings 1. The functions to register console variables manually still exist, but using Console Variable Classes are the new recommended way in Auto Settings 2. CommonUI integration. The plugin now contains an optional integration with the CommonUI plugin that will enable itself automatically if CommonUI is. AutoSettings will integrate with controller data and button icons from CommonUI. The integration contains a Button Group Setting. (Similar to the Radio Select setting from 1.x). Various other minor utilities to integrate with CommonUI are also included. Note: The plugin will still operate without CommonUI, but certain features won't be enabled. All new example menu. The example project for Auto Settings 2 contains an new demo menu with various improvements over the original. The UI is built on CommonUI, providing a foundation which is more likely to be directly compatible with other projects. Full gamepad navigation is now supported. The project contains a custom "Overall Scalability" setting controlling all of the other scalability settings, which is a common requirement for games. Settings can be individually reset to their default values. Input mapping conflicts now open a dialog prompting how the user would like to resolve it. Controller and keyboard/mouse controls are now separated into different tabs.]]></summary>
        <content type="html"><![CDATA[<p>Auto Settings 2 contains significant changes across the board. It's very compatibility-breaking and it would be wise to consider it a completely new plugin that would require integration almost from scratch.</p>
<p>If you're interested in trying this beta release, get it through Fab Additional Files using the <a class="" href="https://sbtools.dev/auto-settings/downloads/">Downloads</a> flow.</p>
<div class="theme-admonition theme-admonition-warning admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>warning</div><div class="admonitionContent_BuS1"><p>Auto Settings 2 does not support legacy input in Unreal.</p></div></div>
<div class="theme-admonition theme-admonition-warning admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>warning</div><div class="admonitionContent_BuS1"><p>Support for beta versions is limited, and they are not recommended for shipping.</p></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="fully-reworked-modular-settings-framework">Fully reworked modular settings framework<a href="https://sbtools.dev/auto-settings/versions/2.0.0-beta.1/#fully-reworked-modular-settings-framework" class="hash-link" aria-label="Direct link to Fully reworked modular settings framework" title="Direct link to Fully reworked modular settings framework" translate="no">​</a></h4>
<p>The core of the plugin has been fully reworked into a new modular framework. The same functionality as Auto Settings 1 is still possible, but it's now a lot more flexible and easier to configure to a game's specific needs.</p>
<ul>
<li class="">Projects can define Setting Type classes to control the functionality of one or more settings.</li>
<li class="">Setting Types can specify strategies to control how the settings that use them are applied and persisted.</li>
<li class="">Each individual setting is uniquely represented by a Setting Key. There can be many individual Setting Keys for different settings under a single Setting Type.</li>
<li class="">Setting Keys are hierarchical, similar to Gameplay Tags, which can be used to group settings.</li>
<li class="">Widgets that are placed in the UI are bound to these Setting Types or Setting Keys, rather than directly to Console Variables like the old system.</li>
<li class="">Setting Application Strategy controls how settings are applied. The default strategy uses console variables to apply settings, which is the same behavior as Auto Settings 1.</li>
<li class="">Setting Storage Strategy controls how settings are saved and loaded. The default strategy uses config files to save settings, which is the same behavior as Auto Settings 1.</li>
<li class="">Setting Registries are a new feature that allow multiple of the same setting to exist in different contexts and scopes.</li>
<li class="">Setting Registries allow a project to separate player-specific settings that may need to apply to individual local or splitscreen players, such as input mappings. By default, there is a Global Registry for settings like video and audio settings, and registry for each local player to manage that player's settings.</li>
<li class="">Default values for all settings are tracked automatically, and individual settings can now be easily reset to their default values.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="reworked-input-mappings">Reworked input mappings<a href="https://sbtools.dev/auto-settings/versions/2.0.0-beta.1/#reworked-input-mappings" class="hash-link" aria-label="Direct link to Reworked input mappings" title="Direct link to Reworked input mappings" translate="no">​</a></h4>
<p>The previous input mapping system has been deprecated and input mappings are now handled by the new settings framework.</p>
<ul>
<li class="">Input mappings now support Enhanced Input. (Legacy input is no longer supported.)</li>
<li class="">Input mappings are now Settings as part of the new settings framework.</li>
<li class="">Input mapping settings use the Input Mapping Application Strategy, which applies the mapping to the player's Enhanced Input mappings. This should help input mappings feel more consistent with the rest of the settings in the plugin, giving them the many of the same features and API instead of a completely separate system like they were in Auto Settings 1</li>
<li class="">Added a Rich Text Block decorator that allows text to be dynamically substituted with button icons representing actions or specific keys at runtime.</li>
<li class="">The Input Mapping Setting widget (previously Action Input Mapping / Axis Input Mapping + Bind Capture Button widgets) now uses an input processor to listen for inputs. This should be more consistent and less prone to interference from Slate Focus and Game UI mode, and other input systems such as CommonUI.</li>
<li class="">The Input Mapping Setting listening state no longer requires a prompt widget to be created, as the listening logic is now decoupled from the UI representation.</li>
<li class="">The plugin now contains an option in the project settings to invert the right gamepad thumbstick vertical axis, in order to reverse the inversion that Unreal applies to it by default. This is intended to help with consistency when allowing thumbsticks to be remapped between different actions.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="console-variable-classes">Console Variable Classes<a href="https://sbtools.dev/auto-settings/versions/2.0.0-beta.1/#console-variable-classes" class="hash-link" aria-label="Direct link to Console Variable Classes" title="Direct link to Console Variable Classes" translate="no">​</a></h4>
<p>Auto Settings 2 includes a new feature for Console Variable Classes.</p>
<ul>
<li class="">Console Variable Classes can be created in Blueprint which can auto-register console variables and manage their logic, more closely reflecting how console variables are authored in c++.</li>
<li class="">Because they are discovered and registered by the plugin, this can be controlled more reliably than using the GameInstance Init function which was the approach in Auto Settings 1.</li>
<li class="">The functions to register console variables manually still exist, but using Console Variable Classes are the new recommended way in Auto Settings 2.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="commonui-integration">CommonUI integration<a href="https://sbtools.dev/auto-settings/versions/2.0.0-beta.1/#commonui-integration" class="hash-link" aria-label="Direct link to CommonUI integration" title="Direct link to CommonUI integration" translate="no">​</a></h4>
<p>The plugin now contains an optional integration with the CommonUI plugin that will enable itself automatically if CommonUI is.</p>
<ul>
<li class="">AutoSettings will integrate with controller data and button icons from CommonUI.</li>
<li class="">The integration contains a Button Group Setting. (Similar to the Radio Select setting from 1.x)</li>
<li class="">Various other minor utilities to integrate with CommonUI are also included
Note: The plugin will still operate without CommonUI, but certain features won't be enabled.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="all-new-example-menu">All new example menu<a href="https://sbtools.dev/auto-settings/versions/2.0.0-beta.1/#all-new-example-menu" class="hash-link" aria-label="Direct link to All new example menu" title="Direct link to All new example menu" translate="no">​</a></h4>
<p>The example project for Auto Settings 2 contains an new demo menu with various improvements over the original.</p>
<ul>
<li class="">The UI is built on CommonUI, providing a foundation which is more likely to be directly compatible with other projects.</li>
<li class="">Full gamepad navigation is now supported.</li>
<li class="">The project contains a custom "Overall Scalability" setting controlling all of the other scalability settings, which is a common requirement for games.</li>
<li class="">Settings can be individually reset to their default values.</li>
<li class="">Input mapping conflicts now open a dialog prompting how the user would like to resolve it.</li>
<li class="">Controller and keyboard/mouse controls are now separated into different tabs.</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[1.34.0]]></title>
        <id>https://sbtools.dev/auto-settings/versions/1.34.0/</id>
        <link href="https://sbtools.dev/auto-settings/versions/1.34.0/"/>
        <updated>2026-10-08T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Compatibility release for UE 5.8.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Compatibility release for UE 5.8</li>
</ul>]]></content>
        <category label="UE 5.8" term="UE 5.8"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[1.33.0]]></title>
        <id>https://sbtools.dev/auto-settings/versions/1.33.0/</id>
        <link href="https://sbtools.dev/auto-settings/versions/1.33.0/"/>
        <updated>2026-06-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Added BindingClearKeys to the project settings to specify keys that should clear the current binding. Added manual unbind/clear support to InputMappingManager, BindCaptureButton, and BindCapturePrompt.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Added <code>BindingClearKeys</code> to the project settings to specify keys that should clear the current binding</li>
<li class="">Added manual unbind/clear support to <code>InputMappingManager</code>, <code>BindCaptureButton</code>, and <code>BindCapturePrompt</code></li>
</ul>]]></content>
        <category label="UE 5.3" term="UE 5.3"/>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
        <category label="UE 5.7" term="UE 5.7"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[1.32.0]]></title>
        <id>https://sbtools.dev/auto-settings/versions/1.32.0/</id>
        <link href="https://sbtools.dev/auto-settings/versions/1.32.0/"/>
        <updated>2025-11-21T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Compatibility release for UE 5.7.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Compatibility release for UE 5.7</li>
</ul>]]></content>
        <category label="UE 5.7" term="UE 5.7"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[1.31.0]]></title>
        <id>https://sbtools.dev/auto-settings/versions/1.31.0/</id>
        <link href="https://sbtools.dev/auto-settings/versions/1.31.0/"/>
        <updated>2025-08-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Fixed a crash that could happen with empty console variable string values (backported from 2.0). Supports latest 3 engine versions.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">Fixed a crash that could happen with empty console variable string values (backported from 2.0)</li>
<li class="">Supports latest 3 engine versions</li>
</ul>]]></content>
        <category label="UE 5.4" term="UE 5.4"/>
        <category label="UE 5.5" term="UE 5.5"/>
        <category label="UE 5.6" term="UE 5.6"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[1.30.0]]></title>
        <id>https://sbtools.dev/auto-settings/versions/1.30.0/</id>
        <link href="https://sbtools.dev/auto-settings/versions/1.30.0/"/>
        <updated>2025-06-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[UE 5.6 now supported. Added editor validation to ensure the example project is used with the correct version of the plugin.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">UE 5.6 now supported</li>
<li class="">Added editor validation to ensure the example project is used with the correct version of the plugin</li>
</ul>]]></content>
        <category label="UE 5.6" term="UE 5.6"/>
    </entry>
</feed>