r.SkeletalMesh.MinLodQualityLevel
r.SkeletalMesh.MinLodQualityLevel
#Overview
name: r.SkeletalMesh.MinLodQualityLevel
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
The quality level for the Min stripping LOD. \n
It is referenced in 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of r.SkeletalMesh.MinLodQualityLevel is to control the minimum Level of Detail (LOD) quality level for skeletal meshes in Unreal Engine 5. This setting is primarily used in the rendering system, specifically for managing the LOD of skeletal meshes.
This setting variable is utilized by the Customizable Object system, which is part of the Mutable plugin, and the core Engine module. The Customizable Object system uses this variable to determine the minimum quality level for LODs in customizable objects, while the Engine module uses it to set the global minimum LOD quality level for all skeletal meshes.
The value of this variable is set through the console variable system in Unreal Engine. It can be modified at runtime or set in configuration files.
This variable interacts with the LOD settings of skeletal meshes and the Customizable Object system. It influences how the engine determines which LOD to use for skeletal meshes based on the current quality settings.
Developers should be aware that this variable affects performance and visual quality. Setting a higher minimum LOD quality level will result in higher-quality skeletal mesh rendering but may impact performance, especially on lower-end hardware.
Best practices when using this variable include:
- Carefully balancing visual quality and performance requirements.
- Testing the impact of different values on various hardware configurations.
- Considering using scalability settings to adjust this value based on the user’s hardware capabilities.
- Monitoring performance metrics when adjusting this value to ensure it doesn’t negatively impact frame rates.
- Using it in conjunction with other LOD-related settings for a comprehensive LOD strategy.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/Experimental/Mutable/Source/CustomizableObject/Private/MuCO/CustomizableObject.cpp:80
Scope (from outer to inner):
file
function UCustomizableObject::UCustomizableObject
Source code excerpt:
#if WITH_EDITORONLY_DATA
const FString CVarName = TEXT("r.SkeletalMesh.MinLodQualityLevel");
const FString ScalabilitySectionName = TEXT("ViewDistanceQuality");
LODSettings.MinQualityLevelLOD.SetQualityLevelCVarForCooking(*CVarName, *ScalabilitySectionName);
#endif
}
#Loc: <Workspace>/Engine/Plugins/Experimental/Mutable/Source/CustomizableObject/Private/MuCO/CustomizableObjectSystem.cpp:130
Scope (from outer to inner):
file
function static void CVarMutableSinkFunction
Source code excerpt:
UCustomizableObjectSystemPrivate* PrivateSystem = UCustomizableObjectSystem::GetInstance()->GetPrivate();
static const IConsoleVariable* CVarSkeletalMeshMinLodQualityLevelCVarName = IConsoleManager::Get().FindConsoleVariable(TEXT("r.SkeletalMesh.MinLodQualityLevel"));
PrivateSystem->SkeletalMeshMinLodQualityLevel = CVarSkeletalMeshMinLodQualityLevelCVarName ? CVarSkeletalMeshMinLodQualityLevelCVarName->GetInt() : INDEX_NONE;
}
}
static FAutoConsoleVariableSink CVarMutableSink(FConsoleCommandDelegate::CreateStatic(&CVarMutableSinkFunction));
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/SkeletalMesh.cpp:133
Scope: file
Source code excerpt:
ECVF_RenderThreadSafe);
const TCHAR* GSkeletalMeshMinLodQualityLevelCVarName = TEXT("r.SkeletalMesh.MinLodQualityLevel");
const TCHAR* GSkeletalMeshMinLodQualityLevelScalabilitySection = TEXT("ViewDistanceQuality");
int32 GSkeletalMeshMinLodQualityLevel = -1;
static FAutoConsoleVariableRef CVarSkeletalMeshMinLodQualityLevel(
GSkeletalMeshMinLodQualityLevelCVarName,
GSkeletalMeshMinLodQualityLevel,
TEXT("The quality level for the Min stripping LOD. \n"),