Context:
GameUserSettings stores user settings for a game, for example graphics and sound settings. The Scalability settings provide a way for to adjust the quality of various features in order to maintain the best performance for a game on different platforms and hardware.
Problem:
When creating a custom GameUserSettings class and exposing all scalability settings available in the editor viewport, Landscape quality is not taken into account by GetOverallScalabilityLevel, but is changed by SetOverallScalabilityLevel. This creates discrepancies when trying to show "Custom" scalability in menus. When setting an Overall scalability level:
LogConfig: Applying CVar settings from Section [LandscapeQuality@2] File [Scalability]
In addition to this, GetLandscapeQuality and SetLandscapeQuality blueprint callables weren't included in the API calls in GameUserSettings.
1.) Open Unreal Source code
2.) Go to GameUserSettings.cpp
Observe: GetOverallScalabilityLevel and SetOverallScalabilityLevel
3.) Following SetOverallScalabilityLevel, go to Scalability.cpp and find FQualityLevels::SetFromSingleQualityLevel
Observe: Landscape quality is set
4.) Following GetOverallScalabilityLevel, go to Scalability.cpp and find FQualityLevels::GetSingleQualityLevel
Observe: Target is compared to all scalability groups except Landscape
Expected: Since Landscape quality is set in SetOverallScalabilityLevel, it should be considered in GetOverallScalabilityLevel
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-349428 in the post.
0 |
Component | UE - Gameplay |
---|---|
Affects Versions | 5.6, 5.7 |
Target Fix | 5.8 |
Created | Oct 17, 2025 |
---|---|
Updated | Oct 20, 2025 |