UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RendererSettings.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
8#include "Engine/Scene.h"
10#include "PixelFormat.h"
13
14#include "RendererSettings.generated.h"
15
17
19
23UENUM()
25{
26 enum Type : int
27 {
28 NoClear = 0 UMETA(DisplayName="Do not clear",ToolTip="This option is fastest but can cause artifacts unless you render to every pixel. Make sure to use a skybox with this option!"),
29 HardwareClear = 1 UMETA(DisplayName="Hardware clear",ToolTip="Perform a full hardware clear before rendering. Most projects should use this option."),
30 QuadAtMaxZ = 2 UMETA(DisplayName="Clear at far plane",ToolTip="Draws a quad to perform the clear at the far plane, this is faster than a hardware clear on some GPUs."),
31 };
32}
33
34
38UENUM()
40{
41 enum Type : int
42 {
43 One = 1 UMETA(DisplayName="No MSAA"),
44 Two = 2 UMETA(DisplayName="2x MSAA"),
45 Four = 4 UMETA(DisplayName="4x MSAA"),
46 Eight = 8 UMETA(DisplayName="8x MSAA"),
47 };
48}
49
50
54UENUM()
56{
57 enum Type : int
58 {
60 Enabled = 1 UMETA(ToolTip="Depth buffer created immediately. Stencil disabled."),
61 EnabledOnDemand = 2 UMETA(ToolTip="Depth buffer created on first use, can save memory but cause stalls. Stencil disabled."),
62 EnabledWithStencil = 3 UMETA(ToolTip="Depth buffer created immediately. Stencil available for read/write."),
63 };
64}
65
66
70UENUM()
71namespace EEarlyZPass
72{
73 enum Type : int
74 {
75 None = 0 UMETA(DisplayName="None"),
76 OpaqueOnly = 1 UMETA(DisplayName="Opaque meshes only"),
77 OpaqueAndMasked = 2 UMETA(DisplayName="Opaque and masked meshes"),
78 Auto = 3 UMETA(DisplayName="Decide automatically",ToolTip="Let the engine decide what to render in the early Z pass based on the features being used."),
79 };
80}
81
85UENUM()
87{
88 enum Type : int
89 {
90 DepthPass = 0 UMETA(DisplayName = "Write during depth pass"),
91 BasePass = 1 UMETA(DisplayName = "Write during base pass"),
92 AfterBasePass = 2 UMETA(DisplayName = "Write after base pass"),
93 };
94}
95
99UENUM()
101{
102 enum Type : int
103 {
104 Off = 0 UMETA(ToolTip = "Always off"),
105 On = 1 UMETA(ToolTip = "Always on"),
106 Auto = 2 UMETA(ToolTip = "On when the performance cost is low (velocity in depth or base pass)."),
107 };
108}
109
114UENUM()
116{
117 enum UE_DEPRECATED(5.5, "Propagate alpha was converted back to a boolean.") Type : int
118 {
120 Disabled = 0,
121
123 Enabled = 1,
124
125 // Deprecated
128 };
129}
130
132namespace EAlphaChannelMode
133{
134 ENGINE_API EAlphaChannelMode::Type FromInt(int32 InAlphaChannelMode);
135}
137
139UENUM()
141{
142 enum Type : int
143 {
145 AEM_Histogram UMETA(DisplayName = "Auto Exposure Histogram"),
147 AEM_Basic UMETA(DisplayName = "Auto Exposure Basic"),
149 AEM_Manual UMETA(DisplayName = "Manual"),
151 };
152}
153
155UENUM()
157{
158 enum Type : int
159 {
160 DBBPF_B8G8R8A8 = 0 UMETA(DisplayName = "8bit RGBA"),
161 DBBPF_A16B16G16R16_DEPRECATED UMETA(DisplayName = "DEPRECATED - 16bit RGBA", Hidden),
162 DBBPF_FloatRGB_DEPRECATED UMETA(DisplayName = "DEPRECATED - Float RGB", Hidden),
163 DBBPF_FloatRGBA UMETA(DisplayName = "Float RGBA"),
164 DBBPF_A2B10G10R10 UMETA(DisplayName = "10bit RGB, 2bit Alpha"),
166 };
167}
168
172UENUM()
174{
175 enum Type : int
176 {
177 Disabled = 0 UMETA(DisplayName = "Disabled"),
178 Low = 1 UMETA(DisplayName = "Low"),
179 Medium = 2 UMETA(DisplayName = "Medium"),
180 High = 3 UMETA(DisplayName = "High"),
181 HighTop = 4 UMETA(DisplayName = "High Top"),
182 };
183}
184
185UENUM()
187{
188 enum Type : int
189 {
190 None = AAM_None UMETA(DisplayName = "None"),
191 FXAA = AAM_FXAA UMETA(DisplayName = "Fast Approximate Anti-Aliasing (FXAA)"),
192 TemporalAA = AAM_TemporalAA UMETA(DisplayName = "Temporal Anti-Aliasing (TAA)"),
194 MSAA = AAM_MSAA UMETA(DisplayName = "Multisample Anti-Aliasing (MSAA)"),
195 TSR = AAM_TSR UMETA(DisplayName = "Temporal Super-Resolution (TSR)"),
196 SMAA = AAM_SMAA UMETA(DisplayName = "Subpixel Morphological Anti-Aliasing (SMAA)"),
197 };
198}
199
201UENUM()
203{
204 enum Type : int
205 {
207 Half = 0 UMETA(DisplayName = "Use Half-precision"),
209 Full_MaterialExpressionOnly = 1 UMETA(DisplayName = "Use Full-precision for MaterialExpressions only"),
211 Full = 2 UMETA(DisplayName = "Use Full-precision for every float"),
212 };
213}
214
215UENUM()
217{
218 enum Type : int
219 {
221 Forward = 0 UMETA(DisplayName = "Forward Shading"),
223 Deferred = 1 UMETA(DisplayName = "Deferred Shading"),
224 };
225}
226
228{
232}
233
234UENUM()
236{
237 enum Type : int
238 {
239 LFAPF_R8 = 0 UMETA(DisplayName = "8 bits Gray Scale"),
240 LFAPF_R8G8B8 = 1 UMETA(DisplayName = "8 bits RGB Color")
241 };
242}
243
247UENUM()
249{
250 enum Type : int
251 {
252 None = 0 UMETA(DisplayName = "Do not compress", ToolTip = "Fastest, but disk and memory footprint will be large"),
253 LZ4 = 1 UMETA(DisplayName = "LZ4", ToolTip = "Compressing using LZ4"),
254 Oodle = 2 UMETA(DisplayName = "Oodle", ToolTip = "Compressing using Oodle (default)"),
255 Zlib = 3 UMETA(DisplayName = "ZLib", ToolTip = "Compressing using Zlib")
256 };
257}
258
259UENUM()
261{
262 enum Type : int
263 {
264 DetailTracing = 1 UMETA(DisplayName = "Detail Tracing", ToolTip = "When using Software Ray Tracing, Lumen will trace against individual mesh's Distance Fields for highest quality. Cost can be high in scenes with many overlapping instances."),
265 GlobalTracing = 0 UMETA(DisplayName = "Global Tracing", ToolTip = "When using Software Ray Tracing, Lumen will trace against the Global Distance Field for fastest traces."),
266 };
267}
268
269UENUM()
271{
272 /* Use Lumen Surface Cache for ray hit lighting. This method gives the best GI and reflection performance, but quality will be limited by how well surface cache represents given scene. */
273 SurfaceCache = 0 UMETA(DisplayName = "Surface Cache"),
274 /* Calculate lighting at a hit point for reflections. This will improve reflection quality, but increases GPU cost, as full material needs to be evaluated and shadow rays traced. Lumen Surface Cache will still be used for GI and secondary bounces, including GI seen in reflections. */
275 HitLightingForReflections = 2 UMETA(DisplayName = "Hit Lighting for Reflections"),
276 /* Calculate lighting at a hit point for GI and reflections. This will improve both GI and reflection quality, but greatly increases GPU cost, as full material and lighting will be evaluated at every hit point. Lumen Surface Cache will still be used for secondary bounces. */
277 HitLighting = 1 UMETA(DisplayName = "Hit Lighting"),
278};
279
280UENUM()
282{
283 /* Lumen screen traces will sample the previous frame's Scene Color. This will not contain translucency and can increase Lumen's noise from small emissive elements, but has less leaking. */
284 SceneColor = 0 UMETA(DisplayName = "Scene Color"),
285 /* Lumen screen traces will sample the previous frame's anti-aliased Scene Color (TSR output). This contains translucency and is prefiltered, reducing Lumen's noise from small emissive elements. */
286 AntialiasedSceneColorWithTranslucency = 1 UMETA(DisplayName = "Anti-aliased Scene Color, with Translucency"),
287};
288
289UENUM()
291{
292 enum Type : int
293 {
294 sRGB = 1 UMETA(DisplayName = "sRGB / Rec709", ToolTip = "sRGB / Rec709 (BT.709) color primaries, with D65 white point."),
295 Rec2020 = 2 UMETA(DisplayName = "Rec2020", ToolTip = "Rec2020 (BT.2020) primaries with D65 white point."),
296 ACESAP0 = 3 UMETA(DIsplayName = "ACES AP0", ToolTip = "ACES AP0 wide gamut primaries, with D60 white point."),
297 ACESAP1 = 4 UMETA(DIsplayName = "ACES AP1 / ACEScg", ToolTip = "ACES AP1 / ACEScg wide gamut primaries, with D60 white point."),
298 P3DCI = 5 UMETA(DisplayName = "P3DCI", ToolTip = "P3 (Theater) primaries, with DCI Calibration white point."),
299 P3D65 = 6 UMETA(DisplayName = "P3D65", ToolTip = "P3 (Display) primaries, with D65 white point."),
300 Custom = 7 UMETA(DisplayName = "Custom", ToolTip = "User defined color space and white point."),
301 };
302}
303
307UCLASS(config=Engine, defaultconfig, meta=(DisplayName="Rendering"), MinimalAPI)
309{
311
312 UPROPERTY(config, EditAnywhere, Category = Mobile, meta = (
313 ConsoleVariable = "r.Mobile.ShadingPath", DisplayName = "Mobile Shading",
314 ToolTip = "The shading path to use on mobile platforms. Changing this setting requires restarting the editor. Forward shading will force MSAA. Mobile HDR is required for Deferred Shading.",
315 ConfigRestartRequired = true))
317
318 UPROPERTY(config, EditAnywhere, Category = Mobile, meta = (
319 ConsoleVariable = "r.Mobile.AntiAliasing", DisplayName = "Anti-Aliasing Method",
320 ToolTip = "The mobile default anti-aliasing method."))
322
323 UPROPERTY(config, EditAnywhere, Category = Mobile, meta = (
324 ConsoleVariable = "r.Mobile.FloatPrecisionMode", DisplayName = "Float Precision Mode",
325 ToolTip = "Project wide mobile float precision mode for shaders and materials. Changing this setting requires restarting the editor.",
326 ConfigRestartRequired = true))
328
329 UPROPERTY(config, EditAnywhere, Category = Mobile, meta=(
330 ConsoleVariable="r.Mobile.AllowDitheredLODTransition", DisplayName="Allow Dithered LOD Transition",
331 ToolTip="Whether to support 'Dithered LOD Transition' material option on mobile platforms. Enabling this may degrade performance as rendering will not benefit from Early-Z optimization.",
334
335 UPROPERTY(config, EditAnywhere, Category = Mobile, meta = (
336 EditCondition = "bVirtualTextures",
337 ConsoleVariable = "r.Mobile.VirtualTextures", DisplayName = "Enable virtual texture support on Mobile",
338 ToolTip = "Whether to support virtual textures on mobile. Requires general virtual texturing option enabled as well. Changing this setting requires restarting the editor.",
339 ConfigRestartRequired = true))
341
342 UPROPERTY(config, EditAnywhere, Category = Materials, meta = (
343 ConsoleVariable = "r.DiscardUnusedQuality", DisplayName = "Game Discards Unused Material Quality Levels",
344 ToolTip = "When running in game mode, whether to keep shaders for all quality levels in memory or only those needed for the current quality level.\nUnchecked: Keep all quality levels in memory allowing a runtime quality level change. (default)\nChecked: Discard unused quality levels when loading content for the game, saving some memory."))
346
347 UPROPERTY()
348 TEnumAsByte<EShaderCompressionFormat::Type> ShaderCompressionFormat_DEPRECATED; // we now force oodle
349
350 UPROPERTY(config, EditAnywhere, Category=Culling, meta=(
351 ConsoleVariable="r.AllowOcclusionQueries",DisplayName="Occlusion Culling",
352 ToolTip="Allows occluded meshes to be culled and not rendered."))
354
355 UPROPERTY(config, EditAnywhere, Category=Culling, meta=(
356 ConsoleVariable="r.MinScreenRadiusForLights",DisplayName="Min Screen Radius for Lights",
357 ToolTip="Screen radius at which lights are culled. Larger values can improve performance but causes lights to pop off when they affect a small area of the screen."))
359
360 UPROPERTY(config, EditAnywhere, Category=Culling, meta=(
361 ConsoleVariable="r.MinScreenRadiusForDepthPrepass",DisplayName="Min Screen Radius for Early Z Pass",
362 ToolTip="Screen radius at which objects are culled for the early Z pass. Larger values can improve performance but very large values can degrade performance if large occluders are not rendered."))
364
365 UPROPERTY(config, EditAnywhere, Category=Culling, meta=(
366 ConsoleVariable="r.PrecomputedVisibilityWarning",DisplayName="Warn about no precomputed visibility",
367 ToolTip="Displays a warning when no precomputed visibility data is available for the current camera location. This can be helpful if you are making a game that relies on precomputed visibility, e.g. a first person mobile game."))
369
370 UPROPERTY(config, EditAnywhere, Category=Textures, meta=(
371 ConsoleVariable="r.TextureStreaming",DisplayName="Texture Streaming",
372 ToolTip="When enabled textures will stream in based on what is visible on screen."))
374
375 UPROPERTY(config, EditAnywhere, Category=Textures, meta=(
376 ConsoleVariable="Compat.UseDXT5NormalMaps",DisplayName="Use DXT5 Normal Maps",
377 ToolTip="Whether to use DXT5 for normal maps, otherwise BC5 will be used, which is not supported on all hardware. Changing this setting requires restarting the editor.",
380
384 UPROPERTY(config, EditAnywhere, Category = VirtualTextures, meta = (
385 ConsoleVariable = "r.VirtualTextures", DisplayName = "Enable virtual texture support",
386 ToolTip = "When enabled, textures can be streamed using the virtual texture system. Changing this setting requires restarting the editor.",
387 ConfigRestartRequired = true))
389
390 UPROPERTY(config, EditAnywhere, Category = VirtualTextures, meta = (
391 EditCondition = "bVirtualTextures",
392 ConsoleVariable = "r.VirtualTexturedLightmaps", DisplayName = "Enable virtual texture lightmaps",
393 ToolTip = "When enabled, lightmaps will be streamed using the virtual texture system. Changing this setting requires restarting the editor.",
394 ConfigRestartRequired = true))
396
397 UPROPERTY(config, EditAnywhere, Category = VirtualTextures, meta = (
398 EditCondition = "bVirtualTextures",
399 ConsoleVariable = "r.VT.TileSize", DisplayName = "Tile size",
400 ToolTip = "Size in pixels for virtual texture tiles, will be rounded to next power-of-2. Changing this setting requires restarting the editor.",
401 ConfigRestartRequired = true))
403
404 UPROPERTY(config, EditAnywhere, Category = VirtualTextures, meta = (
405 EditCondition = "bVirtualTextures",
406 ConsoleVariable = "r.VT.TileBorderSize", DisplayName = "Tile border size",
407 ToolTip = "Size in pixels for virtual texture tile borders, will be rounded to next multiple-of-2. Larger borders allow higher degree of anisotropic filtering, but uses more disk/cache memory. Changing this setting requires restarting the editor.",
408 ConfigRestartRequired = true))
410
411 UPROPERTY(config, EditAnywhere, Category = VirtualTextures, meta = (
412 EditCondition = "bVirtualTextures",
413 ConsoleVariable = "r.VT.AnisotropicFiltering", DisplayName = "Enable virtual texture anisotropic filtering",
414 ToolTip = "When enabled, virtual textures will use anisotropic filtering. This adds a cost to all shaders using virtual textures. Changing this setting requires restarting the editor.",
415 ConfigRestartRequired = true))
417
418 UPROPERTY(config, EditAnywhere, Category = VirtualTextures, meta = (
419 EditCondition = "bVirtualTextures",
420 ConsoleVariable = "r.VT.EnableAutoImport", DisplayName = "Enable virtual texture on texture import",
421 ToolTip = "Enable virtual texture streaming for imported textures based on the 'Auto Virtual Texturing Size' in the texture import settings.",
422 ConfigRestartRequired = false))
424
425 UPROPERTY(config, EditAnywhere, Category = VirtualTextures, meta = (
426 EditCondition = "bVirtualTextures",
427 DisplayName = "Enable virtual texture for opacity mask on material import.",
428 ToolTip = "When virtual textures contribute to opacity mask it can sometimes lead to low resolution shadow edges."))
430
431 UPROPERTY(config, EditAnywhere, Category = MeshPaintVirtualTextures, meta = (
432 EditCondition = "bVirtualTextures",
433 ConsoleVariable = "r.MeshPaintVirtualTexture.Support", DisplayName = "Enable virtual texture mesh painting",
434 ToolTip = "When enabled, mesh paint virtual textures are supported. Changing this setting requires restarting the editor.",
435 ConfigRestartRequired = true))
437
438 UPROPERTY(config, EditAnywhere, Category = MeshPaintVirtualTextures, meta = (
439 EditCondition = "bVirtualTextures && bMeshPaintVirtualTextureSupport",
440 ConsoleVariable = "r.MeshPaintVirtualTexture.TileSize", DisplayName = "Mesh paint tile size",
441 ToolTip = "Size in pixels for mesh paint virtual texture tiles. Will be rounded to next power-of-2. Changing this setting requires restarting the editor.",
442 ConfigRestartRequired = true))
444
445 UPROPERTY(config, EditAnywhere, Category = MeshPaintVirtualTextures, meta = (
446 EditCondition = "bVirtualTextures && bMeshPaintVirtualTextureSupport",
447 ConsoleVariable = "r.MeshPaintVirtualTexture.TileBorderSize", DisplayName = "Mesh paint tile border size",
448 ToolTip = "Size in pixels for virtual texture tile borders. Will be rounded next to multiple-of-2. Changing this setting requires restarting the editor.",
449 ConfigRestartRequired = true))
451
452 UPROPERTY(config, EditAnywhere, Category = MeshPaintVirtualTextures, meta = (
453 EditCondition = "bVirtualTextures && bMeshPaintVirtualTextureSupport",
454 ConsoleVariable = "r.MeshPaintVirtualTexture.UseCompression", DisplayName = "Mesh paint use compressed textures",
455 ToolTip = "Whether to use a compressed texture format for storing mesh paint textures.",
456 ConfigRestartRequired = true))
458
459 UPROPERTY(config, EditAnywhere, Category = MeshPaintVirtualTextures, meta = (
460 EditCondition = "bVirtualTextures && bMeshPaintVirtualTextureSupport",
461 ConsoleVariable = "r.StaticMesh.DefaultMeshPaintTextureSupport", DisplayName = "Mesh paint default static mesh support",
462 ToolTip = "Default setting for whether static mesh assets support mesh paint textures."))
464
465 UPROPERTY(config, EditAnywhere, Category = MeshPaintVirtualTextures, meta = (
466 EditCondition = "bVirtualTextures && bMeshPaintVirtualTextureSupport",
467 ConsoleVariable = "r.MeshPaintVirtualTexture.DefaultTexelsPerVertex", DisplayName = "Mesh paint texels per vertex",
468 ToolTip = "Default ratio of texels to vertices when creating a mesh paint texture for a mesh."))
470
471 UPROPERTY(config, EditAnywhere, Category = MeshPaintVirtualTextures, meta = (
472 EditCondition = "bVirtualTextures && bMeshPaintVirtualTextureSupport",
473 ConsoleVariable = "r.MeshPaintVirtualTexture.MaxTextureSize", DisplayName = "Mesh paint maximum texture size",
474 ToolTip = "Maximum size in pixels for mesh paint virtual textures. Will be rounded to next power-of-2."))
476
477 UPROPERTY(config, EditAnywhere, Category = "Runtime Virtual Textures|Enable Material Types", meta = (
478 EditCondition = "bVirtualTextures",
479 ConsoleVariable = "r.vt.rvt.EnableBaseColor", DisplayName = "Enable 'Base Color'",
480 ToolTip = "Disable material type when not required by a project. This minimizes shader permutation count for materials with Runtime Virtual Texture Output nodes.",
481 ConfigRestartRequired = true))
483
484 UPROPERTY(config, EditAnywhere, Category = "Runtime Virtual Textures|Enable Material Types", meta = (
485 EditCondition = "bVirtualTextures",
486 ConsoleVariable = "r.vt.rvt.EnableBaseColorRoughness", DisplayName = "Enable 'Base Color, Normal, Roughness'",
487 ToolTip = "Disable material type when not required by a project. This minimizes shader permutation count for materials with Runtime Virtual Texture Output nodes.",
488 ConfigRestartRequired = true))
490
491 UPROPERTY(config, EditAnywhere, Category = "Runtime Virtual Textures|Enable Material Types", meta = (
492 EditCondition = "bVirtualTextures",
493 ConsoleVariable = "r.vt.rvt.EnableBaseColorSpecular", DisplayName = "Enable 'Base Color, Normal, Roughness, Specular' family",
494 ToolTip = "Disable family of material types when not required by a project. This minimizes shader permutation count for materials with Runtime Virtual Texture Output nodes.",
495 ConfigRestartRequired = true))
497
498 UPROPERTY(config, EditAnywhere, Category = "Runtime Virtual Textures|Enable Material Types", meta = (
499 EditCondition = "bVirtualTextures",
500 ConsoleVariable = "r.vt.rvt.EnableMask4", DisplayName = "Enable 'Mask4'",
501 ToolTip = "Disable material type when not required by a project. This minimizes shader permutation count for materials with Runtime Virtual Texture Output nodes.",
502 ConfigRestartRequired = true))
503 bool bEnableRVTMask4;
504
505 UPROPERTY(config, EditAnywhere, Category = "Runtime Virtual Textures|Enable Material Types", meta = (
506 EditCondition = "bVirtualTextures",
507 ConsoleVariable = "r.vt.rvt.EnableWorldHeight", DisplayName = "Enable 'World Height'",
508 ToolTip = "Disable material type when not required by a project. This minimizes shader permutation count for materials with Runtime Virtual Texture Output nodes.",
509 ConfigRestartRequired = true))
511
512 UPROPERTY(config, EditAnywhere, Category = "Runtime Virtual Textures|Enable Material Types", meta = (
513 EditCondition = "bVirtualTextures",
514 ConsoleVariable = "r.vt.rvt.EnableDisplacement", DisplayName = "Enable 'Displacement'",
515 ToolTip = "Disable material type when not required by a project. This minimizes shader permutation count for materials with Runtime Virtual Texture Output nodes.",
516 ConfigRestartRequired = true))
518
519 UPROPERTY(config, EditAnywhere, Category = "Runtime Virtual Textures", meta = (
520 EditCondition = "bVirtualTextures",
521 ConsoleVariable = "r.vt.rvt.HighQualityPerPixelHeight", DisplayName = "High quality landscape height sampling.",
522 ToolTip = "Use higher quality sampling of per pixel heightmaps when rendering to Runtime Virtual Texture.",
523 ConfigRestartRequired = true))
525
526 UPROPERTY(config, EditAnywhere, Category = WorkingColorSpace, meta = (
527 DisplayName = "Working Color Space",
528 ToolTip = "Choose from list of provided working color spaces, or custom to provide user-defined space.",
529 ConfigRestartRequired = true))
531
532 UPROPERTY(config, EditAnywhere, Category = WorkingColorSpace, meta = (
533 EditCondition = "WorkingColorSpaceChoice == EWorkingColorSpace::Custom",
534 ToolTip = "Working color space red chromaticity coordinates.",
535 ConfigRestartRequired = true))
536 FVector2D RedChromaticityCoordinate;
537
538 UPROPERTY(config, EditAnywhere, Category = WorkingColorSpace, meta = (
539 EditCondition = "WorkingColorSpaceChoice == EWorkingColorSpace::Custom",
540 ToolTip = "Working color space green chromaticity coordinates.",
541 ConfigRestartRequired = true))
542 FVector2D GreenChromaticityCoordinate;
543
544 UPROPERTY(config, EditAnywhere, Category = WorkingColorSpace, meta = (
545 EditCondition = "WorkingColorSpaceChoice == EWorkingColorSpace::Custom",
546 ToolTip = "Working color space blue chromaticity coordinates.",
547 ConfigRestartRequired = true))
548 FVector2D BlueChromaticityCoordinate;
549
550 UPROPERTY(config, EditAnywhere, Category = WorkingColorSpace, meta = (
551 EditCondition = "WorkingColorSpaceChoice == EWorkingColorSpace::Custom",
552 ToolTip = "Working color space white chromaticity coordinates.",
553 ConfigRestartRequired = true))
554 FVector2D WhiteChromaticityCoordinate;
555
556 UPROPERTY(config, EditAnywhere, Category = WorkingColorSpace, meta = (
557 ConsoleVariable = "r.LegacyLuminanceFactors",
558 ToolTip = "Default luminance factors: 0 enables the working color space coefficients (default), 1 enables inaccurate legacy coefficients.",
559 ConfigRestartRequired = true))
561
562 UPROPERTY(config, EditAnywhere, Category = Materials, meta =(
564 ConsoleVariable = "r.ClearCoatNormal",
565 ToolTip = "Use a separate normal map for the bottom layer of a clear coat material. This is a higher quality feature that is expensive."))
567
568 UPROPERTY(config, EditAnywhere, Category = GlobalIllumination, meta=(
569 ConsoleVariable="r.DynamicGlobalIlluminationMethod",DisplayName="Dynamic Global Illumination Method",
570 ToolTip="Dynamic Global Illumination Method"))
572
573 UPROPERTY(config, EditAnywhere, Category=Reflections, meta=(
574 ConsoleVariable="r.ReflectionMethod",DisplayName="Reflection Method",
575 ToolTip="Reflection Method"))
577
578 UPROPERTY(config, EditAnywhere, Category = Reflections, meta = (
579 ConsoleVariable = "r.ReflectionCaptureResolution", DisplayName = "Reflection Capture Resolution",
580 ToolTip = "The cubemap resolution for all reflection capture probes. Must be power of 2. Note that for very high values the memory and performance impact may be severe."))
582
583 UPROPERTY(config, EditAnywhere, Category = Reflections, meta = (
584 ConsoleVariable = "r.ReflectionEnvironmentLightmapMixBasedOnRoughness", DisplayName = "Reduce lightmap mixing on smooth surfaces",
585 ToolTip = "Whether to reduce lightmap mixing with reflection captures for very smooth surfaces. This is useful to make sure reflection captures match SSR / planar reflections in brightness."))
587
588 UPROPERTY(config, EditAnywhere, Category = Lumen, meta = (
589 EditCondition = "bEnableRayTracing",
590 ConsoleVariable = "r.Lumen.HardwareRayTracing", DisplayName = "Use Hardware Ray Tracing when available",
591 ToolTip = "Uses Hardware Ray Tracing for Lumen features, when supported by the video card + RHI + Operating System. Lumen will fall back to Software Ray Tracing otherwise. Note: Hardware ray tracing has significant scene update costs for scenes with more than 100k instances."))
593
594 UPROPERTY(config, EditAnywhere, Category=Lumen, meta=(
595 EditCondition = "bEnableRayTracing && bUseHardwareRayTracingForLumen",
596 ConsoleVariable="r.Lumen.HardwareRayTracing.LightingMode", DisplayName = "Ray Lighting Mode",
597 ToolTip="Controls how Lumen Reflection rays are lit when Lumen is using Hardware Ray Tracing. By default, Lumen uses the Surface Cache for best performance, but can be set to 'Hit Lighting' for higher quality."))
598 ELumenRayLightingMode LumenRayLightingMode;
599
600 UPROPERTY(config, EditAnywhere, Category = Lumen, meta = (
601 ConsoleVariable = "r.Lumen.TranslucencyReflections.FrontLayer.EnableForProject", DisplayName = "High Quality Translucency Reflections",
602 ToolTip = "Whether to use high quality mirror reflections on the front layer of translucent surfaces. Other layers will use the lower quality Radiance Cache method that can only produce glossy reflections. Increases GPU cost when enabled."))
603 uint32 LumenFrontLayerTranslucencyReflections : 1;
604
605 UPROPERTY(config, EditAnywhere, Category=Lumen, meta=(
606 EditCondition = "bGenerateMeshDistanceFields",
607 ConsoleVariable="r.Lumen.TraceMeshSDFs", DisplayName = "Software Ray Tracing Mode",
608 ToolTip="Controls which tracing method Lumen uses when using Software Ray Tracing."))
610
611 UPROPERTY(config, EditAnywhere, Category=Lumen, meta=(
612 ConsoleVariable="r.Lumen.ScreenTracingSource", DisplayName = "Screen Tracing Source",
613 ToolTip="Specifies which Scene Color texture Lumen's Screen Traces should read from."))
615
616 UPROPERTY(config, EditAnywhere, Category = Lumen, meta = (
617 ConsoleVariable = "r.Lumen.Reflections.HardwareRayTracing.Translucent.Refraction.EnableForProject", DisplayName = "Ray Traced Translucent Refractions",
618 ToolTip = "Whether to use Lumen refraction tracing from surfaces when using harware ray tracing and hit lighting. This will require shader recompilation to compile of translucent card capture Lumen shaders. Increases GPU cost when enabled."))
620
621 UPROPERTY(config, EditAnywhere, Category = DirectLighting, meta = (
622 ConsoleVariable = "r.MegaLights.EnableForProject", DisplayName = "MegaLights",
623 ToolTip = "Whether to use MegaLights by default, but this can still be overridden by Post Process Volumes, or disabled per-light. MegaLights uses stochastic sampling to render many shadow casting lights efficiently, with a consistent low GPU cost. When MegaLights is enabled, other direct lighting algorithms like Deferred Shading will no longer be used, and other shadowing methods like Ray Traced Shadows, Distance Field Shadows and Shadow Maps will no longer be used. MegaLights requires Hardware Ray Tracing, and does not support Directional Lights. Experimental feature."))
625
626 UPROPERTY(config, EditAnywhere, Category = DirectLighting, meta = (
627 ConsoleVariable = "r.RayTracing.Shadows", DisplayName = "Ray Traced Shadows",
628 ToolTip = "Controls whether Ray Traced Shadows are used by default. Lights can still override and force Ray Traced shadows on or off. Requires Hardware Ray Tracing to be enabled."))
630
631 UPROPERTY(config, EditAnywhere, Category = DirectLighting, meta = (
632 ConsoleVariable = "r.Shadow.Virtual.Enable", DisplayName = "Shadow Map Method",
633 ToolTip = "Select the primary shadow mapping method. Automatically uses 'Shadow Maps' when Forward Shading is enabled for the project as Virtual Shadow Maps are not supported."))
635
639 UPROPERTY(config, EditAnywhere, Category = HardwareRayTracing, meta = (
640 ConsoleVariable = "r.RayTracing", DisplayName = "Support Hardware Ray Tracing",
641 ToolTip = "Support Hardware Ray Tracing features. Requires 'Support Compute Skin Cache' before project is allowed to set this.",
642 ConfigRestartRequired = true))
644
645 UPROPERTY(config, EditAnywhere, Category = HardwareRayTracing, meta = (
646 ConsoleVariable = "r.RayTracing.RayTracingProxies.ProjectEnabled", DisplayName = "Generate Ray Tracing Proxies",
647 ToolTip = "Whether to generate dedicated ray tracing proxies for Nanite meshes by default (instead of using the fallback mesh).\nIt's recommended to enable this setting as it guarantees that static meshes have multiple ray tracing LODs to support streaming.",
648 ConfigRestartRequired = true))
650
651 UPROPERTY()
652 uint32 bEnableRayTracingSkylight_DEPRECATED : 1;
653
654 UPROPERTY(config, EditAnywhere, Category = HardwareRayTracing, meta = (
655 ConsoleVariable = "r.RayTracing.UseTextureLod", DisplayName = "Texture LOD",
656 ToolTip = "Enable automatic texture mip level selection in ray tracing material shaders. Unchecked: highest resolution mip level is used for all texture (default). Checked: texture LOD is approximated based on total ray length, output resolution and texel density at hit point (ray cone method).",
657 ConfigRestartRequired = true))
659
660 UPROPERTY(config, EditAnywhere, Category = HardwareRayTracing, meta = (
661 ConsoleVariable = "r.PathTracing", DisplayName = "Path Tracing",
662 ToolTip = "Enables the Path Tracing renderer. This enables additional material permutations. Requires Hardware Ray Tracing to be enabled.",
663 ConfigRestartRequired = true))
665
666 UPROPERTY(config, EditAnywhere, Category=SoftwareRayTracing, meta=(
667 ConsoleVariable="r.GenerateMeshDistanceFields",
668 ToolTip="Whether to build distance fields of static meshes, needed for Software Ray Tracing in Lumen, and distance field AO, which is used to implement Movable SkyLight shadows, and ray traced distance field shadows on directional lights. Enabling will increase the build times, memory usage and disk size of static meshes. Changing this setting requires restarting the editor.",
671
672 UPROPERTY(config, EditAnywhere, Category=SoftwareRayTracing, meta=(
673 EditCondition = "bGenerateMeshDistanceFields",
674 ConsoleVariable="r.DistanceFields.DefaultVoxelDensity",
675 ClampMin = ".05", ClampMax = ".4",
676 ToolTip="Determines how the default scale of a mesh converts into distance field voxel dimensions. Changing this will cause all distance fields to be rebuilt. Large values can consume memory very quickly! Changing this setting requires restarting the editor.",
679
680 UPROPERTY(config, EditAnywhere, Category = Nanite, meta = (
681 ConsoleVariable = "r.Nanite.ProjectEnabled",
682 ToolTip = "Whether to enable Nanite rendering.",
683 ConfigRestartRequired = true))
684 uint32 bNanite : 1;
685
686 UPROPERTY(config, EditAnywhere, Category=MiscLighting, meta=(
687 ConsoleVariable="r.AllowStaticLighting",
688 ToolTip="Whether to allow any static lighting to be generated and used, like lightmaps and shadowmaps. Games that only use dynamic lighting should set this to 0 to save some static lighting overhead. Disabling allows Material AO and Material BentNormal to work with Lumen Global Illumination. When StaticLighting is disabled, it also enables certain effects related to first person rendering, such as player shadows on the ground. Changing this setting requires restarting the editor.",
690 uint32 bAllowStaticLighting:1;
691
692 UPROPERTY(config, EditAnywhere, Category=MiscLighting, meta=(
693 ConsoleVariable="r.NormalMapsForStaticLighting",
694 ToolTip="Whether to allow any static lighting to use normal maps for lighting computations."))
696
697 UPROPERTY(config, EditAnywhere, Category=ForwardRenderer, meta=(
698 ConsoleVariable="r.ForwardShading",
699 DisplayName = "Forward Shading",
700 ToolTip="Whether to use forward shading on desktop platforms, requires Shader Model 5 hardware. Forward shading requires MSAA and has lower default cost, but fewer features supported overall. Materials have to opt-in to more expensive features like high quality reflections. Deferred shading does not support MSAA. Changing this setting requires restarting the editor.",
703
704 UPROPERTY(config, EditAnywhere, Category=ForwardRenderer, meta=(
705 ConsoleVariable="r.VertexFoggingForOpaque",
706 ToolTip="Causes opaque materials to use per-vertex fogging, which costs slightly less. Only supported with forward shading. Changing this setting requires restarting the editor.",
709
710 UPROPERTY(config, EditAnywhere, Category=Translucency, meta=(
711 ConsoleVariable="r.SeparateTranslucency",
712 ToolTip="Allow translucency to be rendered to a separate render targeted and composited after depth of field. Prevents translucency from appearing out of focus."))
713 uint32 bSeparateTranslucency:1;
714
715 UPROPERTY(config, EditAnywhere, Category=Translucency, meta=(
716 ConsoleVariable="r.TranslucentSortPolicy",DisplayName="Translucent Sort Policy",
717 ToolTip="The sort mode for translucent primitives, affecting how they are ordered and how they change order as the camera moves. Requires that Separate Translucency (under Postprocessing) is true."))
718 TEnumAsByte<ETranslucentSortPolicy::Type> TranslucentSortPolicy;
719
720 UPROPERTY(config, EditAnywhere, Category=Translucency, meta=(
721 DisplayName="Translucent Sort Axis",
722 ToolTip="The axis that sorting will occur along when Translucent Sort Policy is set to SortAlongAxis."))
723 FVector TranslucentSortAxis;
724
725 UPROPERTY(config, EditAnywhere, Category=Translucency, meta=(
726 ConsoleVariable="r.LocalFogVolume.ApplyOnTranslucent",
727 ToolTip="Allow local fog volumes to be combined and rendered over translucent meshes. Only per vertex evaluation is supported as of today. It requires r.SupportLocalFogVolumes to be true",
728 ConfigRestartRequired = true))
730
731 UPROPERTY(config, EditAnywhere, Category = VR, meta = (
732 EditCondition = "bSupportHardwareVariableRateShading",
733 ConsoleVariable = "xr.VRS.FoveationLevel", DisplayName = "Stereo Foveation Level (Experimental)",
734 ToolTip = "Set the level of foveation to apply when generating the Variable Rate Shading attachment. This feature is currently experimental.\nThis can yield some fairly significant performance benefits on GPUs that support Tier 2 VRS.\nLower settings will result in almost no discernible artifacting on most HMDs; higher settings will show some artifacts towards the edges of the view."))
736
737 UPROPERTY(config, EditAnywhere, Category = VR, meta = (
738 EditCondition = "bSupportHardwareVariableRateShading && FoveationLevel != EFixedFoveationLevels::Disabled",
739 ConsoleVariable = "xr.VRS.DynamicFoveation", DisplayName = "Dynamic Foveation (Experimental)",
740 ToolTip = "Allows foveation level to adjust dynamically based on GPU utilization.\nLevel will range between none at the minimum, and the currently selected foveation level at the maximum."))
742
743 UPROPERTY(config, EditAnywhere, Category=Postprocessing, meta=(
744 ConsoleVariable="r.CustomDepth",DisplayName="Custom Depth-Stencil Pass",
745 ToolTip="Whether the custom depth pass for tagging primitives for postprocessing passes is enabled. Enabling it on demand can save memory but may cause a hitch the first time the feature is used."))
747
748 UPROPERTY(config, EditAnywhere, Category = Postprocessing, meta = (
749 ConsoleVariable = "r.CustomDepthTemporalAAJitter", DisplayName = "Custom Depth with TemporalAA Jitter",
750 ToolTip = "Whether the custom depth pass has the TemporalAA jitter enabled. Disabling this can be useful when the result of the CustomDepth Pass is used after TAA (e.g. after Tonemapping)"))
752
753 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
754 ConsoleVariable = "r.PostProcessing.PropagateAlpha", DisplayName = "Alpha Output",
755 ToolTip = "Enable r.PostProcessing.PropagateAlpha to enforce alpha in scene color (overriding r.SceneColorFormat if necessary) and propagate it through the renderer's post-processing chain. The legacy \"Linear color space only\" and \"Allow through tonemapper\" options now map to True and the engine keeps full alpha precision throughout post-processing. This feature can now be toggled without an engine restart."))
757
758 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
759 EditCondition = "bEnableAlphaChannelInPostProcessing",
760 ConsoleVariable = "r.Deferred.SupportPrimitiveAlphaHoldout", DisplayName = "Support Primitive Alpha Holdout (Deferred)",
761 ToolTip = "Enable primitive alpha holdout support in multiple deferred renderer passes. If primitive holdout masks are not to be used, keep this setting disabled for increased performance. Requires \"Alpha Output\" to be enabled.",
762 ConfigRestartRequired = true))
764
765 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
766 ConsoleVariable = "r.DefaultFeature.Bloom", DisplayName = "Bloom",
767 ToolTip = "Whether the default for Bloom is enabled or not (postprocess volume/camera/game setting can still override and enable or disable it independently)"))
769
770 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
771 ConsoleVariable = "r.DefaultFeature.AmbientOcclusion", DisplayName = "Ambient Occlusion",
772 ToolTip = "Whether the default for AmbientOcclusion is enabled or not (postprocess volume/camera/game setting can still override and enable or disable it independently)"))
774
775 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
776 ConsoleVariable = "r.DefaultFeature.AmbientOcclusionStaticFraction", DisplayName = "Ambient Occlusion Static Fraction (AO for baked lighting)",
777 ToolTip = "Whether the default for AmbientOcclusionStaticFraction is enabled or not (only useful for baked lighting and if AO is on, allows to have SSAO affect baked lighting as well, costs performance, postprocess volume/camera/game setting can still override and enable or disable it independently)"))
779
780 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
781 ConsoleVariable = "r.DefaultFeature.AutoExposure", DisplayName = "Auto Exposure",
782 ToolTip = "Whether the default for AutoExposure is enabled or not (postprocess volume/camera/game setting can still override and enable or disable it independently)"))
784
785 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
786 ConsoleVariable = "r.DefaultFeature.AutoExposure.Method", DisplayName = "Auto Exposure",
787 ToolTip = "The default method for AutoExposure(postprocess volume/camera/game setting can still override and enable or disable it independently)"))
789
790 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
791 ConsoleVariable = "r.DefaultFeature.AutoExposure.Bias", DisplayName = "Auto Exposure Bias",
792 ToolTip = "Default Value for auto exposure bias."))
794
795 UE_DEPRECATED(4.26, "Extend Default Luminance Range is deprecated, and is forced to ON at all times in new projects.")
796 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
797 ConsoleVariable = "r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange", DisplayName = "Extend default luminance range in Auto Exposure settings",
798 ToolTip = "Whether the default values for AutoExposure should support an extended range of scene luminance. Also changes the exposure settings to be expressed in EV100. Having this setting disabled is deprecated and can only be done manually using r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange.",
801
802 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
803 ConsoleVariable = "r.DefaultFeature.LocalExposure.HighlightContrastScale", DisplayName = "Local Exposure Highlight Contrast",
804 ToolTip = "Default Value for Local Exposure Highlight Contrast.", ClampMin = "0.0", ClampMax = "1.0"))
806
807 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
808 ConsoleVariable = "r.DefaultFeature.LocalExposure.ShadowContrastScale", DisplayName = "Local Exposure Shadow Contrast",
809 ToolTip = "Default Value for Local Exposure Shadow Contrast.", ClampMin = "0.0", ClampMax = "1.0"))
811
812 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
813 ConsoleVariable = "r.DefaultFeature.MotionBlur", DisplayName = "Motion Blur",
814 ToolTip = "Whether the default for MotionBlur is enabled or not (postprocess volume/camera/game setting can still override and enable or disable it independently)"))
816
817 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
818 ConsoleVariable = "r.DefaultFeature.LensFlare", DisplayName = "Lens Flares (Image based)",
819 ToolTip = "Whether the default for LensFlare is enabled or not (postprocess volume/camera/game setting can still override and enable or disable it independently)"))
821
822 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
823 EditCondition = "DefaultFeatureAntiAliasing == EAntiAliasingMethod::AAM_TemporalAA",
824 ConsoleVariable = "r.TemporalAA.Upsampling", DisplayName = "Temporal Upsampling",
825 ToolTip = "Whether to do primary screen percentage upscale with Temporal AA pass or not."))
827
828 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
829 ConsoleVariable = "r.AntiAliasingMethod", DisplayName = "Anti-Aliasing Method",
830 ToolTip = "Selects the anti-aliasing method to use.",
831 EditCondition = "!bForwardShading"))
833
834 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
835 ConsoleVariable = "r.MSAACount", DisplayName = "MSAA Sample Count",
836 ToolTip = "Default number of samples for MSAA."))
838
839 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
840 ConsoleVariable = "r.DefaultFeature.LightUnits", DisplayName = "Light Units",
841 ToolTip = "Which units to use for newly placed point, spot and rect lights"))
843
844 UPROPERTY(config, EditAnywhere, AdvancedDisplay, Category = DefaultSettings, meta = (
845 ConsoleVariable = "r.DefaultBackBufferPixelFormat",DisplayName = "Frame Buffer Pixel Format",
846 ToolTip = "Pixel format used for back buffer, when not specified. This setting is currently incompatible with variable DisplayGamma and HDR mode.",
849
850 UPROPERTY(config, EditAnywhere, Category = DefaultScreenPercentage, meta = (
851 ConsoleVariable = "r.ScreenPercentage.Default", DisplayName = "Manual Screen Percentage",
852 ToolTip = ""))
854
855 UPROPERTY(config, EditAnywhere, Category = DefaultScreenPercentage, meta = (
856 ConsoleVariable = "r.ScreenPercentage.Default.Desktop.Mode", DisplayName = "Screen Percentage Mode for Desktop renderer",
857 ToolTip = ""))
859
860 UPROPERTY(config, EditAnywhere, Category = DefaultScreenPercentage, meta = (
861 ConsoleVariable = "r.ScreenPercentage.Default.Mobile.Mode", DisplayName = "Screen Percentage Mode for Mobile renderer",
862 ToolTip = ""))
864
865 UPROPERTY(config, EditAnywhere, Category = DefaultScreenPercentage, meta = (
866 ConsoleVariable = "r.ScreenPercentage.Default.VR.Mode", DisplayName = "Screen Percentage Mode for VR",
867 ToolTip = ""))
869
870 UPROPERTY(config, EditAnywhere, Category = DefaultScreenPercentage, meta = (
871 ConsoleVariable = "r.ScreenPercentage.Default.PathTracer.Mode", DisplayName = "Screen Percentage Mode for PathTracer",
872 ToolTip = ""))
874
875 UPROPERTY(config, EditAnywhere, Category=Optimizations, meta=(
876 ConsoleVariable="r.Shadow.UnbuiltPreviewInGame",DisplayName="Render Unbuilt Preview Shadows in game",
877 ToolTip="Whether to render unbuilt preview shadows in game. When enabled and lighting is not built, expensive preview shadows will be rendered in game. When disabled, lighting in game and editor won't match which can appear to be a bug."))
879
880 UPROPERTY(config, EditAnywhere, Category=Optimizations, meta=(
881 ConsoleVariable="r.StencilForLODDither",DisplayName="Use Stencil for LOD Dither Fading",
882 ToolTip="Whether to use stencil for LOD dither fading. This saves GPU time in the base pass for materials with dither fading enabled, but forces a full prepass. Changing this setting requires restarting the editor.",
885
886 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
887 ConsoleVariable="r.EarlyZPass",DisplayName="Early Z-pass",
888 ToolTip="Whether to use a depth only pass to initialize Z culling for the base pass."))
890
891 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
892 EditCondition = "EarlyZPass == EEarlyZPass::OpaqueAndMasked",
893 ConsoleVariable = "r.EarlyZPassOnlyMaterialMasking", DisplayName = "Mask material only in early Z-pass",
894 ToolTip = "Whether to compute materials' mask opacity only in early Z pass. Changing this setting requires restarting the editor.",
895 ConfigRestartRequired = true))
897
898 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
899 ConsoleVariable = "r.Shadow.CSMCaching", DisplayName = "Enable CSM Caching",
900 ToolTip = "Enable caching CSM to reduce draw calls for casting CSM and probably improve performance."))
902
903 UPROPERTY(config, EditAnywhere, Category=MiscLighting, meta=(
904 ConsoleVariable="r.DBuffer",DisplayName="DBuffer Decals",
905 ToolTip="Whether to accumulate decal properties to a buffer before the base pass. DBuffer decals correctly affect lightmap and sky lighting, unlike regular deferred decals. DBuffer enabled forces a full prepass. Changing this setting requires restarting the editor.",
908
909 UPROPERTY(config, EditAnywhere, Category=Optimizations, meta=(
910 ConsoleVariable="r.ClearSceneMethod",DisplayName="Clear Scene",
911 ToolTip="Select how the g-buffer is cleared in game mode (only affects deferred shading)."))
913
914 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
915 ConsoleVariable = "r.VelocityOutputPass", DisplayName = "Velocity Pass",
916 ToolTip = "When to write velocity buffer. Changing this setting requires restarting the editor.",
917 ConfigRestartRequired = true))
919
920 UPROPERTY(config, EditAnywhere, Category=Optimizations, meta=(
921 DisplayName="Output velocities due to vertex deformation",
922 ConsoleVariable="r.Velocity.EnableVertexDeformation",
923 ToolTip="Enables materials with World Position Offset and/or World Displacement to output velocities during the velocity pass even when the actor has not moved. \nIf the VelocityPass is set to 'Write after base pass' this can incur a performance cost due to additional draw calls. \nThat performance cost is higher if many objects are using World Position Offset. A forest of trees for example." ))
924 TEnumAsByte<EVertexDeformationOutputsVelocity::Type> VertexDeformationOutputsVelocity;
925
926 UPROPERTY(config, EditAnywhere, Category=Optimizations, meta=(
927 ConsoleVariable="r.SelectiveBasePassOutputs", DisplayName="Selectively output to the GBuffer rendertargets",
928 ToolTip="Enables not exporting to the GBuffer rendertargets that are not relevant. Changing this setting requires restarting the editor.",
931
932 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
933 DisplayName = "Enable Particle Cutouts by default",
934 ToolTip = "When enabled, after changing the material on a Required particle module a Particle Cutout texture will be chosen automatically from the Opacity Mask texture if it exists, if not the Opacity Texture will be used if it exists."))
936
937 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
938 ConsoleVariable = "fx.GPUSimulationTextureSizeX",
939 DisplayName = "GPU Particle simulation texture size - X",
940 ToolTip = "The X size of the GPU simulation texture size. SizeX*SizeY determines the maximum number of GPU simulated particles in an emitter. Potentially overridden by CVar settings in BaseDeviceProfile.ini.",
941 ConfigRestartRequired = true))
943
944 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
945 ConsoleVariable = "fx.GPUSimulationTextureSizeY",
946 DisplayName = "GPU Particle simulation texture size - Y",
947 ToolTip = "The Y size of the GPU simulation texture size. SizeX*SizeY determines the maximum number of GPU simulated particles in an emitter. Potentially overridden by CVar settings in BaseDeviceProfile.ini.",
948 ConfigRestartRequired = true))
950
951 UPROPERTY(config, EditAnywhere, Category = Reflections, meta = (
952 ConsoleVariable = "r.AllowGlobalClipPlane", DisplayName = "Support global clip plane for Planar Reflections",
953 ToolTip = "Whether to support the global clip plane needed for planar reflections. Enabling this increases BasePass triangle cost by ~15% regardless of whether planar reflections are active. Changing this setting requires restarting the editor.",
954 ConfigRestartRequired = true))
956
957 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
958 ConsoleVariable = "r.GBufferFormat", DisplayName = "GBuffer Format",
959 ToolTip = "Selects which GBuffer format should be used. Affects performance primarily via how much GPU memory bandwidth used. This also controls Substrate normal quality and, in this case, a restart is required.",
960 ConfigRestartRequired = true))
962
963 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
964 ConsoleVariable = "r.MorphTarget.Mode", DisplayName = "Use GPU for computing morph targets",
965 ToolTip = "Whether to use original CPU method (loop per morph then by vertex) or use a GPU-based method on Shader Model 5 hardware."))
967
968 UPROPERTY(config, EditAnywhere, Category = DefaultSettings, meta = (
969 ConsoleVariable = "r.MorphTarget.MaxBlendWeight", DisplayName = "Maximum absolute value accepted as a morph target blend weight, positive or negative.",
970 ToolTip = "Blend target weights will be checked against this value for validation. Absolue values greather than this number will be clamped to [-MorphTargetMaxBlendWeight, MorphTargetMaxBlendWeight]."))
972
976 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
977 ConsoleVariable = "r.SupportSkyAtmosphere", DisplayName = "Support Sky Atmosphere",
978 ToolTip = "The sky atmosphere component requires extra samplers/textures to be bound to apply aerial perspective on transparent surfaces (and all surfaces on mobile via per vertex evaluation).",
979 ConfigRestartRequired = true))
980 uint32 bSupportSkyAtmosphere : 1;
981
986 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
987 ConsoleVariable = "r.SupportSkyAtmosphereAffectsHeightFog", DisplayName = "Support Sky Atmosphere Affecting Height Fog",
988 ToolTip = "The sky atmosphere component can light up the height fog but it requires extra samplers/textures to be bound to apply aerial perspective on transparent surfaces (and all surfaces on mobile via per vertex evaluation). It requires r.SupportSkyAtmosphere to be true.",
989 ConfigRestartRequired = true))
991
995 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
996 ConsoleVariable = "r.SupportExpFogMatchesVolumetricFog", DisplayName = "Support Exponential Fog Matches Volumetric Fog",
997 ToolTip = "When enabled, the height fog scattering/ambient/emissive/phase will match the volumetric fog better.",
998 ConfigRestartRequired = true))
1000
1001 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1002 ConsoleVariable = "r.SupportLocalFogVolumes", DisplayName = "Support Local Fog Volumes",
1003 ToolTip = "Enable local fog volume components rendering support. Disable that setting if local fog volumes are not used in a project for increased performance.",
1004 ConfigRestartRequired = true))
1006
1010 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1011 ConsoleVariable = "r.SupportCloudShadowOnForwardLitTranslucent", DisplayName = "Support Cloud Shadow On Forward Lit Translucent",
1012 ToolTip = "Enable cloud shadow on translucent surface not relying on the translucenct lighting volume, e.g. using Forward lighting. This is evaluated per vertex to reduce GPU cost and requires extra samplers/textures to be bound to vertex shaders. This is not implemented on mobile as VolumetricClouds are not available on these platforms.",
1013 ConfigRestartRequired = true))
1015
1019 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1020 ConsoleVariable = "r.ClusteredDeferredShading.EnableForProject", DisplayName = "Support Clustered Deferred Shading",
1021 ToolTip = "Whether to support Clustered Deferred Shading for the project. When enabled, more shaders are compiled and the feature can be toggled on/off at runtime using r.UseClusteredDeferredShading.",
1022 ConfigRestartRequired = true))
1024
1028 UPROPERTY(config, EditAnywhere, Category = LightFunctionAtlas, meta = (
1029 ConsoleVariable = "r.LightFunctionAtlas.Format", DisplayName = "Light Function Atlas Format",
1030 ToolTip = "Select the format of the light function atlas texture.",
1031 ConfigRestartRequired = true))
1033
1037 UPROPERTY(config, EditAnywhere, Category = LightFunctionAtlas, meta = (
1038 ConsoleVariable = "r.VolumetricFog.LightFunction", DisplayName = "Volumetric Fog Uses Light Function Atlas.",
1039 ToolTip = "Enable support for light function on volumetric fog, when the light function atlas is enabled."))
1041
1045 UPROPERTY(config, EditAnywhere, Category = LightFunctionAtlas, meta = (
1046 ConsoleVariable = "r.Deferred.UsesLightFunctionAtlas", DisplayName = "Deferred Lighting Uses Light Function Atlas.",
1047 ToolTip = "Enable support for light function on deferred lighting (multi-pass and clustered), when the light function atlas is enabled."))
1049
1053 UPROPERTY(config, EditAnywhere, Category = LightFunctionAtlas, meta = (
1054 ConsoleVariable = "r.SingleLayerWater.UsesLightFunctionAtlas", DisplayName = "Single Layer Water Uses Light Function Atlas.",
1055 ToolTip = "Enable support for light function on Single Layer Water when the light function atlas is enabled.",
1056 ConfigRestartRequired = true))
1058
1062 UPROPERTY(config, EditAnywhere, Category = LightFunctionAtlas, meta = (
1063 ConsoleVariable = "r.Translucent.UsesLightFunctionAtlas", DisplayName = "Translucent Uses Light Function Atlas.",
1064 ToolTip = "Enable support for light function on Translucent material using Forward Shading mode, when the light function atlas is enabled.",
1065 ConfigRestartRequired = true))
1067
1071 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1072 ConsoleVariable = "r.Translucent.UsesIESProfiles", DisplayName = "Support IES profiles On Translucent Materials (When Using ForwardShading)",
1073 ToolTip = "Enable IES profile evaluation on translucent materials when using the Forward Shading mode.",
1074 ConfigRestartRequired = true))
1076
1080 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1081 ConsoleVariable = "r.Translucent.UsesRectLights", DisplayName = "Support Rect Light On Translucent Materials (When Using ForwardShading)",
1082 ToolTip = "Enable rect light evaluation on translucent materials when using the Forward Shading mode.",
1083 ConfigRestartRequired = true))
1085
1089 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1090 ConsoleVariable = "r.Translucent.UsesShadowedLocalLights", DisplayName = "Support Local Light Shadow On Translucent Materials (When Using ForwardShading)",
1091 ToolTip = "Enable local light shadow evaluation on translucent materials when using the Forward Shading mode.",
1092 ConfigRestartRequired = true))
1094
1095 UPROPERTY(config, EditAnywhere, Category = Debugging, meta = (
1096 ConsoleVariable = "r.GPUCrashDebugging", DisplayName = "Enable vendor specific and in-engine GPU crash analysis tools.",
1097 ToolTip = "Enables vendor specific and in-engine GPU crash analysis tools.",
1098 ConfigRestartRequired = true))
1100
1101 UPROPERTY(config, EditAnywhere, Category = VR, meta = (
1102 ConsoleVariable = "vr.InstancedStereo", DisplayName = "Instanced Stereo",
1103 ToolTip = "Enable single-pass stereoscopic rendering through view instancing or draw call instancing.",
1104 ConfigRestartRequired = true))
1105 uint32 bMultiView : 1;
1106
1107 UPROPERTY(config, EditAnywhere, Category = VR, meta=(
1108 EditCondition = "MobileShadingPath == 0",
1109 ConsoleVariable="r.MobileHDR", DisplayName="Mobile HDR",
1110 ToolTip="If true, mobile pipelines include a full post-processing pass with tonemapping. Disable this setting for a performance boost and to enable stereoscopic rendering optimizations. Changing this setting requires restarting the editor.",
1111 ConfigRestartRequired = true))
1113
1114 UPROPERTY(config, EditAnywhere, Category = VR, meta = (
1115 ConsoleVariable = "vr.MobileMultiView", DisplayName = "Mobile Multi-View",
1116 ToolTip = "Enable single-pass stereoscopic rendering on mobile platforms.",
1117 ConfigRestartRequired = true))
1118 uint32 bMobileMultiView : 1;
1119
1120 UPROPERTY(config, meta = (
1121 EditCondition = "!bMobilePostProcessing",
1122 ConsoleVariable = "r.Mobile.UseHWsRGBEncoding", DisplayName = "Single-pass linear rendering",
1123 ToolTip = "If true then mobile single-pass (without post-processing) rendering will use HW accelerated sRGB encoding/decoding. Available only on Oculus for now."))
1125
1126 UPROPERTY(config, EditAnywhere, Category = VR, meta = (
1127 ConsoleVariable = "vr.RoundRobinOcclusion", DisplayName = "Round Robin Occlusion Queries",
1128 ToolTip = "Enable round-robin scheduling of occlusion queries for VR.",
1129 ConfigRestartRequired = false))
1131
1132 UPROPERTY(config, EditAnywhere, Category = "Mesh Streaming", meta = (
1133 ConsoleVariable="r.MeshStreaming",DisplayName="Mesh Streaming",
1134 ToolTip="When enabled mesh LODs will stream in based on what is visible on screen.",
1135 ConfigRestartRequired = true))
1137
1138 UPROPERTY(config, EditAnywhere, Category = "Heterogeneous Volumes", meta = (
1139 ConsoleVariable = "r.HeterogeneousVolumes", DisplayName = "Heterogeneous Volumes (Beta)",
1140 ToolTip = "Enable rendering with the heterogeneous volumes subsystem.",
1141 ConfigRestartRequired = false))
1143
1144 UPROPERTY(config, EditAnywhere, Category = "Heterogeneous Volumes", meta = (
1145 ConsoleVariable = "r.HeterogeneousVolumes.Shadows", DisplayName = "Shadow Casting",
1146 ToolTip = "Enable heterogeneous volumes to cast shadows onto the environment.",
1147 ConfigRestartRequired = false))
1149
1150 UPROPERTY(config, EditAnywhere, Category = "Heterogeneous Volumes", meta = (
1151 ConsoleVariable = "r.Translucency.HeterogeneousVolumes", DisplayName = "Composite with Translucency",
1152 ToolTip = "Enable compositing with heterogeneous volumes when rendering translucency.",
1153 ConfigRestartRequired = true))
1155
1156 UPROPERTY(config, EditAnywhere, Category=Editor, meta=(
1157 ConsoleVariable="r.WireframeCullThreshold",DisplayName="Wireframe Cull Threshold",
1158 ToolTip="Screen radius at which wireframe objects are culled. Larger values can improve performance when viewing a scene in wireframe."))
1160
1165 UPROPERTY(config, EditAnywhere, Category = ShaderPermutationReduction, meta = (
1166 ConsoleVariable = "r.SupportStationarySkylight", DisplayName = "Support Stationary Skylight",
1167 ConfigRestartRequired = true))
1169
1173 UPROPERTY(config, EditAnywhere, Category = ShaderPermutationReduction, meta = (
1174 ConsoleVariable = "r.SupportLowQualityLightmaps", DisplayName = "Support low quality lightmap shader permutations",
1175 ConfigRestartRequired = true))
1177
1181 UPROPERTY(config, EditAnywhere, Category = ShaderPermutationReduction, meta = (
1182 ConsoleVariable = "r.SupportPointLightWholeSceneShadows", DisplayName = "Support PointLight WholeSceneShadows",
1183 ConfigRestartRequired = true))
1185
1189 UPROPERTY(config, EditAnywhere, Category = ShaderPermutationReduction, meta = (
1190 ConsoleVariable = "r.Shadow.TranslucentPerObject.ProjectEnabled", DisplayName = "Support Volumetric Translucent Self Shadowing",
1191 ToolTip = "Enable translucent volumetric self-shadow, requires vertex and pixel shader permutations for all tranlucent materials even if not used by any light.",
1192 ConfigRestartRequired = true))
1194
1198 UPROPERTY(config, EditAnywhere, Category = ShaderPermutationReduction, meta = (
1199 ConsoleVariable = "r.Water.SingleLayerWater.SupportCloudShadow", DisplayName = "Support Cloud Shadow On SingleLayerWater",
1200 ToolTip = "Enable cloud shadow on SingleLayerWater. This is evaluated per vertex to reduce GPU cost and requires extra samplers/textures to be bound to vertex shaders. This is not implemented on mobile as VolumetricClouds are not available on these platforms.",
1201 ConfigRestartRequired = true))
1203
1207 UPROPERTY(config, EditAnywhere, Category = Substrate, meta = (
1208 ConsoleVariable = "r.Substrate", DisplayName = "Substrate materials",
1209 ToolTip = "Enable Substrate materials.",
1210 ConfigRestartRequired = true))
1212
1216 UPROPERTY(config, EditAnywhere, Category = Substrate, meta = (
1217 ConsoleVariable = "r.Substrate.ProjectGBufferFormat",
1218 DisplayName = "Substrate GBuffer Format (Project)",
1219 ToolTip = "Select the GBuffer format used for this project.\n - Blendable GBuffer is supported on all platforms (=> 1 closure and 20 bytes per pixel maximum). \n - Adaptive GBuffer is supported on certains platforms. Unsupported platforms will fallback onto 'Blendable GBuffer' format.\nChanging this setting requires restarting the editor.",
1220 ConfigRestartRequired = true))
1222
1226 UPROPERTY(config, EditAnywhere, Category = Substrate, meta = (
1227 ConsoleVariable = "r.Substrate.ProjectClosuresPerPixel",
1228 DisplayName = "Substrate Closure Per Pixel (Project)",
1229 ToolTip = "Define the maximum number of closures evaluated per pixel for this project. Materials with a number of closures beyond this limit will be simplified until it fits the requirements. This only applies when Adaptive GBuffer is enabled. On platforms not supporting Adaptive GBuffer, the material will be simplified into a single closure",
1230 ClampMin = "1", ClampMax = "8",
1231 EditCondition = "SubstrateGBufferFormat == 1",
1232 ConfigRestartRequired = true))
1234
1238 UPROPERTY(config, EditAnywhere, Category = Substrate, meta = (
1239 ConsoleVariable = "r.Substrate.ProjectClosuresPerPixelOverride",
1240 DisplayName = "Substrate Closure-Per-Pixel Override",
1241 ToolTip = "Select how the maximum number of closures evaluated per pixel is defined for each platform.\n - Use Platform Closure Count: Use the minimum between the platform's closure count and the project's closure count.\n - Force Closure Count: Force the project's closure count on platforms supporting Adaptive GBuffer.",
1242 EditCondition = "SubstrateGBufferFormat == 1",
1243 ConfigRestartRequired = true))
1245
1249 UPROPERTY(config, EditAnywhere, Category = Substrate, meta = (
1250 ConsoleVariable = "r.Substrate.BytesPerPixel",
1251 DisplayName = "Substrate Bytes Per Pixel",
1252 ToolTip = "Define the maximum number of bytes per pixel allocated. Materials requiring memory beyond this limit will be simplified until it fits the requirements. This only applies when Adaptive GBuffer is enabled. On platforms not supporting Adaptive GBuffer, the material will be simplified to a smaller fix limit.",
1253 ClampMin = "20", ClampMax = "256",
1254 EditCondition = "SubstrateGBufferFormat == 1",
1255 ConfigRestartRequired = true))
1257
1261 UPROPERTY(config, EditAnywhere, Category = Substrate, meta = (
1262 ConsoleVariable = "r.Substrate.OpaqueMaterialRoughRefraction", DisplayName = "Substrate opaque material rough refraction (Experimental)",
1263 ToolTip = "Enable Substrate opaque material rough refractions effect from top layers over layers below. (Experimental for now since this is not a path validated in production). Requires adaptive GBuffer format and at least 2 closures per pixel.",
1264 EditCondition = "SubstrateGBufferFormat == 1 && SubstrateProjectClosuresPerPixel > 1",
1265 ConfigRestartRequired = true))
1267
1271 UPROPERTY(config, EditAnywhere, Category = Substrate, meta = (
1272 ConsoleVariable = "r.Refraction.Blur", DisplayName = "Substrate translucent material rough refraction",
1273 ToolTip = "Enable Substrate translucent material rough refractions effect over background.",
1274 ConfigRestartRequired = false))
1276
1280 UPROPERTY(config, EditAnywhere, Category = Substrate, meta = (
1281 ConsoleVariable = "r.Substrate.Debug.AdvancedVisualizationShaders", DisplayName = "Substrate advanced visualization shaders (Editor/Win64/DX12 Only)",
1282 ToolTip = "Enable advanced Substrate material debug visualization shaders. Base pass shaders can output such advanced data. Only available for Editors built for Win64 and running with the DX12 graphic API for now.",
1283 ConfigRestartRequired = true))
1285
1289 UPROPERTY(config, EditAnywhere, Category = Substrate, meta = (
1290 ConsoleVariable = "r.Substrate.EnableLayerSupport", DisplayName = "Substrate enable material layer support (Experimental)",
1291 ToolTip = "Enable Substrate material layering and UI(Experimental).Note: This support is one way; the legacy layer materials auto-upgrade and can only be reversed manually after assets are re - saved.",
1292 ConfigRestartRequired = true,
1293 EditCondition = "bEnableSubstrate"))
1295
1299 UPROPERTY(config, EditAnywhere, Category = Materials, meta = (
1300 ConsoleVariable = "r.Material.RoughDiffuse", DisplayName = "Enable Rough Diffuse Material",
1301 ToolTip = "Enable Rough Diffuse Material. Please note that when Substrate is enabled, energy conservation is forced to ENABLED.",
1302 ConfigRestartRequired = true))
1304
1308 UPROPERTY(config, EditAnywhere, Category = Materials, meta = (
1309 ConsoleVariable = "r.Material.EnergyConservation", DisplayName = "Enable Energy Conservation on Material",
1310 ToolTip = "Enable Energy Conservation on Material. Please note that when Substrate is enabled, energy conservation is forced to ENABLED.",
1311 ConfigRestartRequired = true))
1313
1317 UPROPERTY(config, EditAnywhere, Category = Materials, meta = (
1318 ConsoleVariable = "r.Material.DefaultAutoMaterialUsage", DisplayName = "Automatically set Material usage flags in editor default",
1319 ToolTip = "Whether new Materials should automatically set usage flags in the Editor.",
1320 ConfigRestartRequired = false))
1322
1326 UPROPERTY(config, EditAnywhere, Category = Translucency, meta = (
1327 ConsoleVariable = "r.OIT.SortedPixels", DisplayName = "Enable Order Independent Transparency (Experimental)",
1328 ToolTip = "Enable support for Order-Independent-Transparency on translucent surfaces, which remove most of the sorting artifact among translucent surfaces.",
1329 ConfigRestartRequired = true))
1331
1335 UPROPERTY(config, EditAnywhere, Category = HairStrands, meta = (
1336 ConsoleVariable = "r.HairStrands.LODMode", DisplayName = "Enable Hair Strands 'Auto' LOD mode",
1337 ToolTip = "Enable hair strands Auto LOD mode by default. Otherwise use Manual LOD mode. Auto LOD mode adapts hair curves based on screen coverage. Manual LOD mode relies on LODs manually setup per groom asset. This global behavior can be overridden per groom asset",
1338 ConfigRestartRequired = true))
1340
1344 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1345 ConsoleVariable = "r.SkinCache.CompileShaders", DisplayName = "Support Compute Skin Cache",
1346 ToolTip = "Cannot be disabled while Ray Tracing is enabled as it is then required.",
1347 ConfigRestartRequired = true))
1349
1353 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1354 ConsoleVariable = "r.VRS.Support", DisplayName = "Support Hardware Variable Rate Shading",
1355 ToolTip = "Allows selectively shading certain portions of the image at lower rates, using one pixel shader invocation to shade multiple pixels. Rates are selected per-material, or in screenspace by enabling a shading rate image generator (such as Contrast Adaptive Shading or Stereo Foveation). Changing this setting requires restarting the editor.",
1356 ConfigRestartRequired = true))
1358
1362 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1363 ConsoleVariable = "r.SkinCache.SkipCompilingGPUSkinVF", DisplayName = "Reduce GPU Skin Vertex Factory shader permutations",
1364 ToolTip = "Cannot be enabled while the skin cache is turned off.",
1365 ConfigRestartRequired = true))
1367
1368 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1369 ConsoleVariable = "r.SkinCache.DefaultBehavior", DisplayName = "Default Skin Cache Behavior",
1370 ToolTip = "Default behavior if all skeletal meshes are included/excluded from the skin cache. If Support Ray Tracing is enabled on a mesh, the skin cache will be used for Ray Tracing updates on that mesh regardless of this setting."))
1372
1373 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1374 ConsoleVariable = "r.SkinCache.SceneMemoryLimitInMB", DisplayName = "Maximum memory for Compute Skin Cache per world (MB)",
1375 ToolTip = "Maximum amount of memory (in MB) per world/scene allowed for the Compute Skin Cache to generate output vertex data and recompute tangents."))
1377
1378 UPROPERTY(config, EditAnywhere, Category = MobileShaderPermutationReduction, meta = (
1379 ConsoleVariable = "r.Mobile.EnableStaticAndCSMShadowReceivers", DisplayName = "Support Combined Static and CSM Shadowing",
1380 ToolTip = "Allow primitives to receive both static and CSM shadows from a stationary light. Disabling will free a mobile texture sampler and reduce shader permutations. Changing this setting requires restarting the editor.",
1381 ConfigRestartRequired = true))
1382 uint32 bMobileEnableStaticAndCSMShadowReceivers : 1;
1383
1384 UPROPERTY(config, EditAnywhere, Category = Mobile, meta = (
1385 ConsoleVariable = "r.Mobile.EnableMovableLightCSMShaderCulling", DisplayName = "Support movable light CSM shader culling",
1386 ToolTip = "Primitives lit by a movable directional light will render with the CSM shader only when determined to be within CSM range. Changing this setting requires restarting the editor.",
1387 ConfigRestartRequired = true))
1388 uint32 bMobileEnableMovableLightCSMShaderCulling : 1;
1389
1390 UPROPERTY(config, EditAnywhere, Category = Mobile, meta = (
1391 ConsoleVariable = "r.Mobile.Forward.EnableLocalLights",
1392 DisplayName = "Local Light Setting (When using ForwardShading)",
1393 ToolTip = "Select which Local Light Setting to use for Mobile. Changing this setting requires restarting the editor.",
1394 ConfigRestartRequired = true))
1396
1397 UPROPERTY(config, EditAnywhere, Category = Mobile, meta = (
1398 ConsoleVariable = "r.Mobile.Forward.EnableClusteredReflections",
1399 DisplayName = "Clustered reflections (When using ForwardShading)",
1400 ToolTip = "Whether to enable clustered reflections on mobile forward (including translucency in deferred). Always supported for opaque geometry on mobile deferred. Changing this setting requires restarting the editor.",
1401 ConfigRestartRequired = true))
1403
1404 UPROPERTY(config, EditAnywhere, Category = MobileShaderPermutationReduction, meta = (
1405 ConsoleVariable = "r.Mobile.AllowDistanceFieldShadows",
1406 DisplayName = "Support Pre-baked Distance Field Shadow Maps",
1407 ToolTip = "Generate shaders for static primitives render Lightmass-baked distance field shadow maps from stationary directional lights. Changing this setting requires restarting the editor.",
1408 ConfigRestartRequired = true))
1409 uint32 bMobileAllowDistanceFieldShadows : 1;
1410
1411 UPROPERTY(config, EditAnywhere, Category = MobileShaderPermutationReduction, meta = (
1412 ConsoleVariable = "r.Mobile.EnableMovableSpotlightsShadow",
1413 DisplayName = "Support Movable SpotlightShadows",
1414 ToolTip = "Generate shaders for primitives to receive shadow from movable spotlights. Changing this setting requires restarting the editor.",
1415 ConfigRestartRequired = true))
1417
1418 UPROPERTY(config, EditAnywhere, Category = Skinning, meta = (
1419 ConsoleVariable = "r.GPUSkin.Support16BitBoneIndex", DisplayName = "Support 16-bit Bone Index",
1420 ToolTip = "If enabled, a new mesh imported will use 8 bit (if <=256 bones) or 16 bit (if > 256 bones) bone indices for rendering.",
1421 ConfigRestartRequired = true))
1423
1424 UPROPERTY(config, EditAnywhere, Category = Skinning, meta = (
1425 ConsoleVariable = "r.GPUSkin.Limit2BoneInfluences", DisplayName = "Limit GPU skinning to 2 bones influence",
1426 ToolTip = "Whether to use 2 bone influences instead of the default of 4 for GPU skinning. This does not change skeletal mesh assets but reduces the number of instructions required by the GPU skin vertex shaders. Changing this setting requires restarting the editor.",
1427 ConfigRestartRequired = true))
1429
1430 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1431 ConsoleVariable = "r.SupportDepthOnlyIndexBuffers", DisplayName = "Support depth-only index buffers",
1432 ToolTip = "Support depth-only index buffers, which provide a minor rendering speedup at the expense of using twice the index buffer memory.",
1433 ConfigRestartRequired = true))
1435
1436 UPROPERTY(config, EditAnywhere, Category = Optimizations, meta = (
1437 ConsoleVariable = "r.SupportReversedIndexBuffers", DisplayName = "Support reversed index buffers",
1438 ToolTip = "Support reversed index buffers, which provide a minor rendering speedup at the expense of using twice the index buffer memory.",
1439 ConfigRestartRequired = true))
1441
1442 UPROPERTY(config, EditAnywhere, Category = Mobile, meta = (
1443 ConsoleVariable = "r.Mobile.AmbientOcclusion", DisplayName = "Ambient Occlusion (When using ForwardShading)",
1444 ToolTip = "Mobile Ambient Occlusion. Causion: An extra sampler will be occupied in mobile base pass pixel shader after enable the mobile ambient occlusion. Changing this setting requires restarting the editor.",
1445 ConfigRestartRequired = true))
1447
1448 UPROPERTY(config, EditAnywhere, Category = Mobile, meta = (
1449 ConsoleVariable = "r.Mobile.ScreenSpaceReflections", DisplayName = "Screen Space Reflections (When using Forward Shading)",
1450 ToolTip = "Support Screen Space Reflections with mobile rendering. Screen Space Reflections on mobile require TAA Changing this setting requires restarting the editor.",
1451 ConfigRestartRequired = true))
1453
1454 UPROPERTY(config, EditAnywhere, Category = Mobile, meta = (
1455 ConsoleVariable = "r.Mobile.DBuffer", DisplayName = "Mobile DBuffer Decals",
1456 ToolTip = "Whether to accumulate decal properties to a buffer before the base pass with mobile rendering. DBuffer enabled forces a full prepass. Changing this setting requires restarting the editor.",
1457 ConfigRestartRequired = true))
1459
1460 UPROPERTY(config, EditAnywhere, Category = Mobile, meta = (
1461 ConsoleVariable = "r.Mobile.PropagateAlpha", DisplayName = "Mobile Alpha Output",
1462 ToolTip = "Enable r.Mobile.PropagateAlpha to enforce alpha in scene color (overriding r.SceneColorFormat if necessary) and propagate it through the mobile renderer's post-processing chain.",
1463 ConfigRestartRequired = true))
1465
1466 UPROPERTY(config, EditAnywhere, Category = Skinning, meta = (
1467 ConsoleVariable = "r.GPUSkin.UnlimitedBoneInfluences", DisplayName = "Use Unlimited Bone Influences",
1468 ToolTip = "If enabled, a new mesh imported will use unlimited bone buffer instead of fixed MaxBoneInfluences for rendering.",
1469 ConfigRestartRequired = true))
1471
1472 UPROPERTY(config, EditAnywhere, Category = Skinning, meta = (
1473 ConsoleVariable = "r.GPUSkin.AlwaysUseDeformerForUnlimitedBoneInfluences",
1474 ToolTip = "Any mesh LODs using Unlimited Bone Influences will always be rendered with a Mesh Deformer. This reduces the number of shader permutations needed for skeletal mesh materials, saving memory at the cost of performance. Has no effect if either Unlimited Bone Influences or Deformer Graph is disabled.",
1475 ConfigRestartRequired = true))
1477
1478 UPROPERTY(config, EditAnywhere, Category = Skinning, meta = (
1479 ConsoleVariable = "r.GPUSkin.UnlimitedBoneInfluencesThreshold", DisplayName = "Unlimited Bone Influences Threshold",
1480 ToolTip = "When Unlimited Bone Influence is enabled, it still uses a fixed bone inflence buffer until the max bone influence of a mesh exceeds this value"))
1482
1483 UPROPERTY(config, EditAnywhere, Category = Skinning, meta = (
1484 ToolTip = "When BoneInfluenceLimit on a skeletal mesh LOD is set to 0, this setting is used instead. If this setting is 0, no limit will be applied here and the max bone influences will be determined by other project settings. Changing this setting requires restarting the editor.",
1485 ConfigRestartRequired = true,
1486 ClampMin = "0", UIMin = "0"))
1488
1489 /*
1490 * The maximum bones count section vertices's skinning can use before being chunked into more sections. The minimum value is the maximum total influences define (MAX_TOTAL_INFLUENCES).
1491 */
1492 UPROPERTY(config, EditAnywhere, Category = Skinning, meta = (
1493 DisplayName = "Maximum bones per Sections",
1494 ToolTip = "Max number of bones that can be skinned on the GPU in a single draw call. The default value is set by the Compat.MAX_GPUSKIN_BONES consolevariable. Changing this setting requires restarting the editor.",
1495 ConfigRestartRequired = true,
1496 ClampMin = "12", UIMin = "12"))
1498
1499 UE_DEPRECATED(5.6, "MobilePlanarReflectionMode is deprecated. The screen space reflections on mobile is supported and the pixel projected reflection is removed.")
1500 UPROPERTY()
1501 uint8 MobilePlanarReflectionMode;
1502
1503 UPROPERTY(config, EditAnywhere, Category = Nanite, meta = (
1504 ConsoleVariable = "r.Nanite.Foliage", DisplayName = "Nanite Foliage (Experimental)",
1505 ToolTip = "Enables experimental features required to support Nanite Foliage.",
1506 ConfigRestartRequired = true))
1508
1509 UPROPERTY(config, EditAnywhere, Category="Mesh Streaming|Skeletal Mesh", meta=(
1510 EditCondition = "bMeshStreaming",
1511 DisplayName="Stream LODs by default",
1512 ToolTip="Whether to stream skeletal mesh LODs by default."))
1514
1515 UPROPERTY(config, EditAnywhere, Category="Mesh Streaming|Skeletal Mesh", meta=(
1516 DisplayName="Discard optional LODs",
1517 ToolTip="Whether to discard skeletal mesh LODs below minimum LOD levels at cook time."))
1519
1523 UPROPERTY(config, EditAnywhere, Category = PostProcessCalibrationMaterials, meta = (AllowedClasses = "/Script/Engine.Material",
1524 DisplayName = "Visualize Calibration Color Material Path",
1525 ToolTip = "When the VisualizeCalibrationColor show flag is enabled, this path will be used as the post-process material to render. The post-process material's Blendable Location property must be set to \"After Tonemapping\" for proper calibration display.",
1526 ConfigRestartRequired = false))
1528
1529 UPROPERTY(config, EditAnywhere, Category = PostProcessCalibrationMaterials, meta = (AllowedClasses = "/Script/Engine.Material",
1530 DisplayName = "Visualize Calibration Custom Material Path",
1531 ToolTip = "When the VisualizeCalibrationCustom show flag is enabled, this path will be used as the post-process material to render. The post-process material's Blendable Location property must be set to \"After Tonemapping\" for proper calibration display.",
1532 ConfigRestartRequired = false))
1534
1535 UPROPERTY(config, EditAnywhere, Category = PostProcessCalibrationMaterials, meta = (AllowedClasses = "/Script/Engine.Material",
1536 DisplayName = "Visualize Calibration Grayscale Material Path",
1537 ToolTip = "When the VisualizeCalibrationGrayscale show flag is enabled, this path will be used as the post-process material to render. The post-process material's Blendable Location property must be set to \"After Tonemapping\" for proper calibration display.",
1538 ConfigRestartRequired = false))
1540
1541public:
1542
1543 //~ Begin UObject Interface
1544
1545 ENGINE_API virtual void PostInitProperties() override;
1546
1547#if WITH_EDITOR
1549 ENGINE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
1550 ENGINE_API virtual bool CanEditChange(const FProperty* InProperty) const override;
1551#endif
1552
1553 //~ End UObject Interface
1554
1555private:
1556#if WITH_EDITOR
1559
1560 // Notification about missing required shader models.
1562
1566#endif // WITH_EDITOR
1567
1568 void SanitizeReflectionCaptureResolution();
1569 void UpdateWorkingColorSpaceAndChromaticities();
1570};
1571
1572UCLASS(config = Engine, projectuserconfig, meta = (DisplayName = "Rendering Overrides (Local)"), MinimalAPI)
1574{
1576
1577
1580 UPROPERTY(config, EditAnywhere, Category = ShaderPermutationReduction, meta = (
1581 ConsoleVariable = "r.SupportAllShaderPermutations", DisplayName = "Force all shader permutation support",
1584
1585public:
1586
1587 //~ Begin UObject Interface
1588
1589 ENGINE_API virtual void PostInitProperties() override;
1590
1591#if WITH_EDITOR
1592 ENGINE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
1593#endif
1594};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
@ Skinning
Definition HairStrandsInterface.h:201
EScreenPercentageMode
Definition LegacyScreenPercentageDriver.h:67
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UMETA(...)
Definition ObjectMacros.h:747
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
EPixelFormat
Definition PixelFormat.h:16
@ Four
Definition PropertyPathHelpersTest.h:19
@ Two
Definition PropertyPathHelpersTest.h:17
@ One
Definition PropertyPathHelpersTest.h:16
ELumenScreenTracingSource
Definition RendererSettings.h:282
ELumenRayLightingMode
Definition RendererSettings.h:271
@ AEM_MAX
Definition Scene.h:41
ELightUnits
Definition Scene.h:75
ESkinCacheDefaultBehavior
Definition SkinnedAssetCommon.h:46
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Engine.Build.cs:7
Definition UnrealType.h:174
Definition EnumAsByte.h:22
Definition SharedPointer.h:1295
Definition DeveloperSettings.h:24
Definition RendererSettings.h:309
Definition RendererSettings.h:116
ENGINE_API EAlphaChannelMode::Type FromInt(int32 InAlphaChannelMode)
Definition RendererSettings.cpp:39
Definition RendererSettings.h:141
Type
Definition RendererSettings.h:143
Definition RendererSettings.h:25
Type
Definition RendererSettings.h:27
@ QuadAtMaxZ
Definition RendererSettings.h:30
@ HardwareClear
Definition RendererSettings.h:29
Definition RendererSettings.h:40
Type
Definition RendererSettings.h:42
@ Eight
Definition RendererSettings.h:46
Definition RendererSettings.h:56
Type
Definition RendererSettings.h:58
@ EnabledOnDemand
Definition RendererSettings.h:61
Definition RendererSettings.h:157
ENGINE_API EDefaultBackBufferPixelFormat::Type FromInt(int32 InDefaultBackBufferPixelFormat)
Definition RendererSettings.cpp:71
ENGINE_API EPixelFormat Convert2PixelFormat(EDefaultBackBufferPixelFormat::Type InDefaultBackBufferPixelFormat)
Definition RendererSettings.cpp:48
ENGINE_API int32 NumberOfBitForAlpha(EDefaultBackBufferPixelFormat::Type InDefaultBackBufferPixelFormat)
Definition RendererSettings.cpp:55
Type
Definition RendererSettings.h:159
@ DBBPF_MAX
Definition RendererSettings.h:165
@ DBBPF_B8G8R8A8
Definition RendererSettings.h:160
Definition RendererSettings.h:72
Type
Definition RendererSettings.h:74
@ OpaqueAndMasked
Definition RendererSettings.h:77
@ OpaqueOnly
Definition RendererSettings.h:76
Definition RendererSettings.h:174
Type
Definition RendererSettings.h:176
@ HighTop
Definition RendererSettings.h:181
Definition RendererSettings.h:236
Type
Definition RendererSettings.h:238
@ LFAPF_R8
Definition RendererSettings.h:239
@ LFAPF_R8G8B8
Definition RendererSettings.h:240
Definition RendererSettings.h:261
Type
Definition RendererSettings.h:263
@ GlobalTracing
Definition RendererSettings.h:265
@ DetailTracing
Definition RendererSettings.h:264
Definition RendererSettings.h:187
Type
Definition RendererSettings.h:189
@ FXAA
Definition RendererSettings.h:191
@ MSAA
Definition RendererSettings.h:194
@ TemporalAA
Definition RendererSettings.h:192
@ SMAA
Definition RendererSettings.h:196
Definition RendererSettings.h:203
Type
Definition RendererSettings.h:205
@ Full_MaterialExpressionOnly
Definition RendererSettings.h:209
Definition RendererSettings.h:217
Type
Definition RendererSettings.h:219
Definition RendererSettings.h:249
Type
Definition RendererSettings.h:251
@ LZ4
Definition RendererSettings.h:253
Definition RendererSettings.h:87
Type
Definition RendererSettings.h:89
@ BasePass
Definition RendererSettings.h:91
@ DepthPass
Definition RendererSettings.h:90
Definition RendererSettings.h:101
Type
Definition RendererSettings.h:103
Definition RendererSettings.h:291
Type
Definition RendererSettings.h:293
@ Rec2020
Definition RendererSettings.h:295
@ P3D65
Definition RendererSettings.h:299
@ ACESAP0
Definition RendererSettings.h:296
@ ACESAP1
Definition RendererSettings.h:297
@ P3DCI
Definition RendererSettings.h:298
Definition HairStrandsData.h:476
Definition LightFunctionAtlas.cpp:122
Definition DeferredShadingRenderer.cpp:316
Definition SkinnedMeshComponent.h:50
Definition RenderUtils.cpp:2080
Definition PerPlatformProperties.h:384
Definition PerPlatformProperties.h:211
Definition UnrealType.h:6865
Definition SoftObjectPath.h:56