Did I really need to load and apply settigs with every lauch (I dont really understand Load Settings node, he dont have settings output, why its then not a Load and Apply or something like that)? But with what setting game runs without it? “Applies all current user settings to the game and saves to permanent storage (e.g. file), optionally checking for command line overrides.”, what if user will delete this unknowm file? This nods dont have any boolean output for check.
on startup. It reads the settings from the config file and applies them.
If the user goes rummaging around and deletes the file, tough luck. They could also delete the save game file, it’s up to them. Where else could you store it?
Yes, if they only move the save file, they will lose settings from the ini file. You can avoid that by writing everything to the save file, and loading from there. It really depends how much you’re prepared to do…
Wait, but where this ini file? For example, if someone moves to new PC with .sav file, I must also be sure that changed .ini exist, or player gets random settings,
Found file in “…\AppData\Local\ProjectName\Saved\Config\WindowsNoEditor\GameUserSettings.ini” (not really sure is it fine that folder called WindowsNoEditor). But then looks like that I need to set settings every game launch.
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.