Hi there,
I’ve been investigating this issue and identified the following commit as the source of the behaviour change.
This update appears to have been introduced to prevent unnecessary render state recreation and Pipeline State Object (PSO) precaching from being triggered multiple times when console variables change during a call to ApplySettings. However, the logic that actively prevented these repeated calls has been removed in Unreal Engine 5.5, as shown in this subsequent commit.
You may be able to safely remove the FGlobalComponentRecreateRenderStateContext line from your project. This appears to have been introduced to reduce the risk of hitches caused by render states being recreated for all components multiple times when settings are changed. It does not appear to address any specific rendering or stability issues. That said, removing it could potentially lead to rendering artifacts or crashes, particularly if certain graphics settings are altered at runtime.
If you’d prefer not to modify the engine source directly, consider overriding the UGameUserSettings class in your project. You can replicate the ApplySettings method in your subclass and remove the FGlobalComponentRecreateRenderStateContext call there instead.
I’ll continue looking into this behavior and determine whether it warrants being flagged as a regression in later engine versions.
Regards,
Thomas