How can I get the default game setting's detail in Unreal4 game

In my case, I need to make a game Quality setting ui system for our game.
so how can I get the default game setting detail data so that to set up my game settting defual UIView.

Something like following:

Here’s a snippet of how I apply my game settings that you might find useful:

void APWNGameMode::ApplyGameplaySettings()
{
	// Set FOV
	PlayerController->PlayerCameraManager->SetFOV(GameplaySettings->GetFOV());

	// Vsync
	if (GEngine)
	{
		GEngine->bSmoothFrameRate = (GameplaySettings->GetUseVSync() ? 1 : 0);
		
		//Changed in 4.2	
		GEngine->SmoothedFrameRateRange = FFloatRange(GameplaySettings->GetVSyncMinFPS(), GameplaySettings->GetVSyncMaxFPS());		
	}	

	// Test detail settings - Should move to gameplay settings
	if (GEngine)
	{
		// Set quality
		Scalability::FQualityLevels q;
		q.AntiAliasingQuality = GameplaySettings->GetAntiAliasingQuality();
		q.ViewDistanceQuality = GameplaySettings->GetViewDistanceQuality();
		q.EffectsQuality = GameplaySettings->GetEffectsQuality();
		q.PostProcessQuality = GameplaySettings->GetPostProcessQuality();
		q.ResolutionQuality = GameplaySettings->GetResolutionQuality();
		q.ShadowQuality = GameplaySettings->GetShadowQuality();
		q.TextureQuality = GameplaySettings->GetTextureQuality();
		Scalability::SetQualityLevels(q);
	}	
}

My GameplaySettings class is just a container with some config readers, getters and setters, so e.g.

GameplaySettings->GetAntiAliasingQuality()

Just returns a value between 0 and 4 depending on what was specified in my custom config file.

Thank you very much. it worked.

but I still do not know how to get the screen size and Framerate max

Max frame rate can only be set via Vertical Sync (bSmoothFrameRate).

Screen size you can set via a console command, e.g.

if (GEngine)
{
    GEngine->Exec(GetWorld(), TEXT("r.SetRes 1920x1080"));    
}
  • I meant frame rate will only be capped when bSmoothFrameRate is true. It will then use the max value specified in SmoothedFrameRateRange.

ok! it is so kind of you. thank you for help me!

Sure, no worries. Could you please mark the answer as solved, so others can see that the issue has been resolved, and then I can get my precious Internet Points :).