Should Scalability::FQualityLevels
struct (found in Scalability.h) be used directly in an options menu?
I had been storing my own values for ViewDistanceQuality, AntiAliasingQuality, etc. in my options menu. However I ran into a problem with ResolutionQuality.
The engine uses a function called GetRenderScaleLevelFromQualityLevel()
when it sets the overall scalability value:
void FQualityLevels::SetFromSingleQualityLevel(int32 Value)
{
ResolutionQuality = GetRenderScaleLevelFromQualityLevel(Value, EQualityLevelBehavior::EAbsolute);
// ...
}
It seems that there is no way to access GetRenderScaleLevelFromQualityLevel()
from the code in my options menu. However if I use the struct instead of storing my own quality member values then I could just call FQualityLevels::SetFromSingleQualityLevel()
instead of implementing my own version:
Scalability::FQualityLevels QL;
QL.SetFromSingleQualityLevel(0);
Should I be using Scalability::FQualityLevels
directly in my options menu instead of storing my own local values for ViewDistanceQuality, AntiAliasingQuality, etc? Is it common to use this struct when implementing video options menus?