"AUTO" button in UMG to set Game Graphics?

I created a Settings menu in UMG Widget and i want to know how i can create a “Auto” button to see the client hardware and set the best settings to the game run in 30…45 or 60 frames/s

I know it is possible because the editor Scalability has this button…here!

(The other buttons “Low, Medium, High and Epic” i want to learn too :3 )

i too would like to know how to do this

this in game UI exists in Epics fortnite as well I’ve seen other community games have it - just need to know how to wire it to the engine in blueprint/c++

Seems to be c++ not exposed to blueprint - not 100% sure of this yet

Scalability::FQualityLevels qual;
qual = Scalability::GetQualityLevels();
qual.SetFromSingleQualityLevel(3);
Scalability::SetQualityLevels(qual);

27298-untitled.png

just confirming this works

now just need to know what AUTO is… it might be

auto seems to be trouble

searching github for how the editor does it i stumbled across this

https://github.com/EpicGames/UnrealEngine/blob/890cefeee330dec714271af1cd07969f0a60848e/Engine/Source/Editor/UnrealEd/Private/SScalabilitySettings.cpp

CachedQualityLevels = GEditor->GetGameAgnosticSettings().EngineBenchmarkResult;

this is my C++ method i expose to blueprint for my UMG widget

I’m not 100% about this because I seem to get different results than if i use the editor button (altho this performs the same action) could be because my game is running IN the editor

void MYCONTROLLER::QUALITY_SET_LEVEL(int32 levelID)
{
	Scalability::FQualityLevels qual;
	qual = Scalability::GetQualityLevels();
	
	if (levelID >= 0 && levelID < 4)
	{
		qual.SetFromSingleQualityLevel(levelID);
	}
	else if (levelID == 4)
	{
		qual = Scalability::BenchmarkQualityLevels(1.0);
	}

	Scalability::SetQualityLevels(qual);
}

I’ll need to learn C++…I don’t know nothing… :frowning:

maybe ramas plugin has this? (or he could be convinced to add it)

(39) Rama's Extra Blueprint Nodes for You as a Plugin, No C++ Required! - Blueprint - Unreal Engine Forums!

Hi Sand ,

You can execute a console command through blueprint.
It may pause when executed , due to running a benchmark in the background and applying some settings accordingly.

It took me some time.But finally found you a simple solution accessible through blueprint.
Hope this help.Let me know if this answered your question.
Note - Auto Scalability does impact the resolution scale , depending on your needs , you might want to counter that.

Best Regards ,
Ockert

27392-solution.jpg

WOW!!! It was what i looking for…but how i can archive the “Low” “Medium” “High” “Epic” resolution with this console command?

“Archive” - do you want to save the Scalability ? Or did you mean “achieve”.

28189-keepresolutionscale.jpg

This will set the ResolutionScale/Quality back to 100%
The ResolutionScale/Quality takes the current resolution the engine is running at eg.1920x1080 and scale it down by the percentage , “auto” percentage in this case.

Hope that answered your question ?
If not ,feel free to elaborate further.

Best Regards ,
Ockert

Oh , wait I think understand your question now.
You can use the following commands

You can type “Scalability ?” in the console command for the information.Looks like they listed “auto” in 4.7.

Sorry for my mistake…the last one was what i wanted! THANKS :smiley:

Glad I could be of help.

Ockert

Sorry guys… But it looks like that “Scalability” doens’t works, and if i write “scalability ?” in the console nothing appear. I use unreal engine 4.8.1

At least in 4.17.2 this stuff is all exposed to Blueprint:
The GameUserSettings class has two functions: RunHardwareBenchmark and ApplyHardwareBenchmarkResults.

RunHardwareBenchmark computes a GPU and CPU score and uses the data given in BaseScalability.ini to determine which parameters to set based on those values. ApplyHardwareBenchmarkResults applies those values.

At least in 4.17.2 this stuff is all exposed to Blueprint:
The GameUserSettings class has two functions: RunHardwareBenchmark and ApplyHardwareBenchmarkResults.

RunHardwareBenchmark computes a GPU and CPU score and uses the data given in BaseScalability.ini to determine which parameters to set based on those values. ApplyHardwareBenchmarkResults applies those values.