How to set up settings

Hi.

I would like to know how to edit, store and use the game settings. How to change and apply the video settings? How to add a parameter (eg volume of the music), and save it, so that after entering the game, value is saved. And how to read this value?

Thanks.

P. s. Sorry for my English.
P. s. s. It does not matter by C ++ or BP.

If someone will look for the same.
Here how i done this.

In c++ i created static functions like this:

.h:

// Music volume:
UFUNCTION(BlueprintCallable, Category = Config)
static void SetMusicVolume(float Value);

UFUNCTION(BlueprintCallable, Category = Config)
static float GetMusicVolume();

.cpp:

void UrooMazeStaticLibrary::SetMusicVolume(float Value)
{
	FString Section = "Audio";
	GConfig->SetFloat(*Section, TEXT("MusicVolume"), Value, GGameIni);
}

float UrooMazeStaticLibrary::GetMusicVolume()
{
	float Value = 0;
	FString Section = "Audio";
	GConfig->GetFloat(*Section, TEXT("MusicVolume"), Value, GGameIni);
	return Value;
}

It can be easily used in BPs.