Exceptions when saving game settings

Hello there, gamedev gurus!

I’m tweaking the main menu settings: music, graphics, localization, etc.
I’ve encountered a problem saving the changed settings.

First, when I change the sound and click the “Apply Changes” button, the sound disappears. It doesn’t matter what the slider is set to. But when I reopen the widget, everything resets to the default values. I don’t know why the Save Game to Slot isn’t being overwritten.

Second, the following error appears when I exit the game:


As I understand it, the engine can’t retrieve the parameter from the BP_SettingsSave class. Why? I don’t understand. The error sends me to the first Set function of the “Apply Changes” button.

Third, the same thing happens when saving parameters in the “WBP_Video” widget. The only difference is that the parameters actually change in-game (for example, I can turn off shadows or change the screen resolution. The settings are saved when I reopen the game). Only the text doesn’t change; it resets every time. The exceptions are the same: it complains about Save Game to Slot.

Here’s my code:

  1. BP_Settings - the class contains different values of other classes that I want to save;

  2. WBP_Settings - the class contains widget swithcer with oter 3 classes (WBP_Game, WBP_Video, WBP_Audio). And the logic for loading saved settings when opening the widget is also written here;

  3. WBP_Video - the class contains logic of load or creation of Save Slot “Settings_Video”;

  4. WBP_Audio - the class contains logic of load or creation of Save Slot “Settings_Audio” (the continuation is into Graphs because there is a lot of “pasta” there);

  5. WBP_MainMenuButton > F_ApplyButton - the class contains “Apply Changes” button. It’s a separate function in the other widget “WBP_MainMenuButton”.

  6. BP_SettingsSave:

  1. WBP_Settings:
  1. WBP_Video:
  1. WBP_Audio:
  1. WBP_MainMenuButton > F_ApplyButton:

If you need more information, I can provide more code.

I’d be very grateful for your help :slight_smile:

Access none means a direct reference to the instance cannot be made. It’s null as in Empty.