So thats how I think that must looks, where Get Game User Settings let you work with ini file, Apply Settings changes ini file information, Load Settings reset current settings to settings which you apply to ini file at last time.
-
at every game launch - Get Game User Settings > set settings > Apply Settings
-
at in game settings change (we must be sure that new settings dont crash game, so no apply node for now) - Get Game User Settings > set changes
-
upon in game settings change confirmation - Get Game User Settings > Apply Settings
-
at in game settings change reset - Get Game User Settings > Load Settings
I dont using Validate Settings because I checking is saved resolution bigger then desktop resolution at game start.
