options menu quality levels struct

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?

I recommend taking a look at how Lyra handles this and its settings as a whole; but to answer the question, it does seem so for sure.