r.Editor.Viewport.ScreenPercentageMode.VR
r.Editor.Viewport.ScreenPercentageMode.VR
#Overview
name: r.Editor.Viewport.ScreenPercentageMode.VR
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Controls the default screen percentage mode for VR editor viewports.
It is referenced in 6
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of r.Editor.Viewport.ScreenPercentageMode.VR is to control the default screen percentage mode for VR editor viewports in Unreal Engine 5. This setting variable is primarily used for the rendering system, specifically for managing screen resolution in virtual reality environments within the editor.
This setting variable is mainly relied upon by the Unreal Engine editor subsystem, particularly the viewport rendering module. It’s referenced in the UnrealEd and Engine modules, as seen in the provided source code locations.
The value of this variable is set through the TAutoConsoleVariable mechanism, which allows it to be modified at runtime. It’s initialized with the value of EScreenPercentageMode::Manual, but can be changed through console commands or project settings.
The associated variable CVarEditorViewportDefaultVRScreenPercentageMode interacts directly with r.Editor.Viewport.ScreenPercentageMode.VR. They share the same value and purpose, with CVarEditorViewportDefaultVRScreenPercentageMode being the actual console variable used in the code.
Developers must be aware that this variable specifically affects VR editor viewports and not other types of viewports. It’s part of a larger system of screen percentage modes for different rendering scenarios (realtime, mobile, VR, path tracing).
Best practices when using this variable include:
- Consider the performance implications of changing the screen percentage mode in VR.
- Ensure consistency with other screen percentage mode settings if necessary.
- Be mindful of the impact on VR rendering quality and performance when modifying this setting.
Regarding the associated variable CVarEditorViewportDefaultVRScreenPercentageMode:
- Its purpose is identical to r.Editor.Viewport.ScreenPercentageMode.VR, controlling the screen percentage mode for VR editor viewports.
- It’s used in the UnrealEd module, specifically in editor settings and viewport-related code.
- The value is set through the TAutoConsoleVariable mechanism and can be modified via project settings or editor user settings.
- It interacts with other screen percentage mode variables for different rendering scenarios.
- Developers should be aware that changes to this variable will affect VR editor viewport rendering.
- Best practices include considering VR performance and quality trade-offs when adjusting this setting, and ensuring it aligns with the project’s VR rendering requirements.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Settings/EditorProjectSettings.cpp:21
Scope: file
Source code excerpt:
TAutoConsoleVariable<int32> CVarEditorViewportDefaultVRScreenPercentageMode(
TEXT("r.Editor.Viewport.ScreenPercentageMode.VR"), int32(EScreenPercentageMode::Manual),
TEXT("Controls the default screen percentage mode for VR editor viewports."),
ECVF_Default);
TAutoConsoleVariable<int32> CVarEditorViewportDefaultPathTracerScreenPercentageMode(
TEXT("r.Editor.Viewport.ScreenPercentageMode.PathTracer"), int32(EScreenPercentageMode::Manual),
TEXT("Controls the default screen percentage mode for path-traced viewports."),
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/SCommonEditorViewportToolbarBase.cpp:196
Scope (from outer to inner):
file
function static FFormatNamedArguments GetScreenPercentageFormatArguments
Source code excerpt:
static auto CVarEditorViewportDefaultScreenPercentageRealTimeMode = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.ScreenPercentageMode.RealTime"));
static auto CVarEditorViewportDefaultScreenPercentageMobileMode = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.ScreenPercentageMode.Mobile"));
static auto CVarEditorViewportDefaultScreenPercentageVRMode = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.ScreenPercentageMode.VR"));
static auto CVarEditorViewportDefaultScreenPercentagePathTracerMode = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.ScreenPercentageMode.PathTracer"));
static auto CVarEditorViewportDefaultScreenPercentageMode = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.ScreenPercentageMode.NonRealTime"));
const UEditorPerformanceProjectSettings* EditorProjectSettings = GetDefault<UEditorPerformanceProjectSettings>();
const UEditorPerformanceSettings* EditorUserSettings = GetDefault<UEditorPerformanceSettings>();
const FEngineShowFlags& EngineShowFlags = ViewportClient.EngineShowFlags;
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/LegacyScreenPercentageDriver.cpp:275
Scope: file
Source code excerpt:
static auto CVarEditorViewportDefaultScreenPercentageRealTimeMode = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.ScreenPercentageMode.RealTime"));
static auto CVarEditorViewportDefaultScreenPercentageMobileMode = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.ScreenPercentageMode.Mobile"));
static auto CVarEditorViewportDefaultScreenPercentageVRMode = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.ScreenPercentageMode.VR"));
static auto CVarEditorViewportDefaultScreenPercentagePathTracerMode = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.ScreenPercentageMode.PathTracer"));
static auto CVarEditorViewportDefaultScreenPercentageMode = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.ScreenPercentageMode.NonRealTime"));
static auto CVarEditorViewportDefaultScreenPercentage = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.ScreenPercentage"));
static auto CVarEditorViewportDefaultMinRenderingResolution = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.MinRenderingResolution"));
static auto CVarEditorViewportDefaultMaxRenderingResolution = IConsoleManager::Get().FindConsoleVariable(TEXT("r.Editor.Viewport.MaxRenderingResolution"));
#Associated Variable and Callsites
This variable is associated with another variable named CVarEditorViewportDefaultVRScreenPercentageMode
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Settings/EditorProjectSettings.cpp:20
Scope: file
Source code excerpt:
ECVF_Default);
TAutoConsoleVariable<int32> CVarEditorViewportDefaultVRScreenPercentageMode(
TEXT("r.Editor.Viewport.ScreenPercentageMode.VR"), int32(EScreenPercentageMode::Manual),
TEXT("Controls the default screen percentage mode for VR editor viewports."),
ECVF_Default);
TAutoConsoleVariable<int32> CVarEditorViewportDefaultPathTracerScreenPercentageMode(
TEXT("r.Editor.Viewport.ScreenPercentageMode.PathTracer"), int32(EScreenPercentageMode::Manual),
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Settings/EditorProjectSettings.cpp:292
Scope (from outer to inner):
file
function void UEditorPerformanceProjectSettings::ExportResolutionValuesToConsoleVariables
Source code excerpt:
CVarEditorViewportDefaultScreenPercentageMode->Set(int32(EditorProjectSettings->RealtimeScreenPercentageMode), ECVF_SetByProjectSetting);
CVarEditorViewportDefaultMobileScreenPercentageMode->Set(int32(EditorProjectSettings->MobileScreenPercentageMode), ECVF_SetByProjectSetting);
CVarEditorViewportDefaultVRScreenPercentageMode->Set(int32(EditorProjectSettings->VRScreenPercentageMode), ECVF_SetByProjectSetting);
CVarEditorViewportDefaultPathTracerScreenPercentageMode->Set(int32(EditorProjectSettings->PathTracerScreenPercentageMode), ECVF_SetByProjectSetting);
CVarEditorViewportNonRealtimeDefaultScreenPercentageMode->Set(int32(EditorProjectSettings->NonRealtimeScreenPercentageMode), ECVF_SetByProjectSetting);
CVarEditorViewportDefaultScreenPercentage->Set(EditorProjectSettings->ManualScreenPercentage, ECVF_SetByProjectSetting);
CVarEditorViewportDefaultMinRenderingResolution->Set(EditorProjectSettings->MinViewportRenderingResolution, ECVF_SetByProjectSetting);
CVarEditorViewportDefaultMaxRenderingResolution->Set(EditorProjectSettings->MaxViewportRenderingResolution, ECVF_SetByProjectSetting);
}
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Settings/EditorProjectSettings.cpp:324
Scope (from outer to inner):
file
function void UEditorPerformanceProjectSettings::ExportResolutionValuesToConsoleVariables
Source code excerpt:
OverrideCVarModeWithEditorUserSettings(CVarEditorViewportDefaultScreenPercentageMode, EditorUserSettings->RealtimeScreenPercentageMode);
OverrideCVarModeWithEditorUserSettings(CVarEditorViewportDefaultMobileScreenPercentageMode, EditorUserSettings->MobileScreenPercentageMode);
OverrideCVarModeWithEditorUserSettings(CVarEditorViewportDefaultVRScreenPercentageMode, EditorUserSettings->VRScreenPercentageMode);
OverrideCVarModeWithEditorUserSettings(CVarEditorViewportDefaultPathTracerScreenPercentageMode, EditorUserSettings->PathTracerScreenPercentageMode);
OverrideCVarModeWithEditorUserSettings(CVarEditorViewportNonRealtimeDefaultScreenPercentageMode, EditorUserSettings->NonRealtimeScreenPercentageMode);
if (EditorUserSettings->bOverrideManualScreenPercentage)
{
CVarEditorViewportDefaultScreenPercentage->Set(EditorUserSettings->ManualScreenPercentage, ECVF_SetByProjectSetting);