Rendering

Overview

Scalability Settings

The Scalability settings allow you to adjust the quality of various features in order to maintain the best performance for your game on different platforms and hardware.

Example of Scalability Settings for Shadows:

View Distance

Objects can be culled based on their distance to the viewer. By default, all objects are not distance culled (Desired max draw distance of 0). On top of the designer specified value, there is a global scalability setting working like a multiplier.

Anti-Aliasing

This console command will adjust the quality of whichever Anti-Aliasing method you are using (FXAA or Temporal AA). For either Anti-Aliasing method, a value of 1 will disable the effect.

Post Processing

This option adjusts the quality of the Post Processing effects in accordance with the settings found in the BaseScalability.ini file located in [UE4_InstallPath]/Engine/Config folder. From Low to Epic Settings.

Example of console commands executed: r.DepthOfFieldQuality, r.AmbientOcclusionLevels, r.BloomQuality, etc.

Shadows

This option adjusts the quality of dynamic shadows in accordance with the settings found in the BaseScalability.ini file located in [UE4_InstallPath]/Engine/Config folder. From Low to Epic Settings.

Example of console commands executed: r.ShadowQuality, r.Shadow.CSM.MaxCascades, r.Shadow.DistanceScale, etc.

Textures

A modern rendering engine requires a lot more GPU memory (textures, meshes, GBuffer, Depth Buffer, Shadow maps). Some of these scale with the screen resolution (e.g. GBuffer), others with specific quality settings (e.g. Shadow maps). Another large amount comes from the used textures (usually compressed and streamed). You can instruct the streaming system to be more aggressive in management (smaller pool size, culling unused textures) or to have less or more detail in the mip level computation.

This option adjusts the quality of textures in accordance with the settings found in the BaseScalability.ini file located in the [UE4_InstallPath]/Engine/Config folder. From Low to Epic Settings.

Example of console commands executed: r.Streaming.MipBias, r.MaxAnisotropy, r.Streaming.PoolSize, etc.

Effects

This option adjusts the quality of many different types of effects in accordance with the settings found in the BaseScalability.ini file located in [UE4_InstallPath]/Engine/Config folder. From Low to Epic Settings.

Example of console commands executed: r.RefractionQuality, r.MaterialQualityLevel, r.TranslucencyVolumeBlur, etc.

Detail

Each placed Actor has a Detail Mode property in the Rendering category. Essentially this setting defines the minimum detail level for an Actor to render.

It is easy to use this to disable decals, detail objects, lights, or individual particle effects. Make sure to only use this on objects that have no effect on gameplay, otherwise, you will run into problems with network gameplay, save games, or consistency.

Customize the Scalability Settings

You can customize any of the Scalability Settings that are used in your UE4 project.

Go to your project's Config folder and create a new .INI file called DefaultScalability.ini.

Open up the newly created DefaultScalability.ini file and console commands for the scalability settings.

Example:

[FoliageQuality@0]

foliage.DensityScale=.25

grass.DensityScale=.25

You can find this information about scalability settings and more at:

https://docs.unrealengine.com/5.1/en-US/scalability-reference-for-unreal-engine/

Screen Space Settings

SS Global Illumination

Screen Space Global Illumination (SSGI) is an Unreal Engine feature that aims to create natural-looking lighting by adding dynamic indirect lighting to objects within the screen view. SSGI also makes it possible to have dynamic lighting from emissive surfaces, such as neon lights or other bright surfaces.

SSGI HalfRes:

HalfRes command to render SSGI at half resolution.

SSGI Quality:

1 - Ray Steps: 8; Ray Count: 4

2 - Ray Steps: 8; Ray Count: 8

3 - Ray Steps: 8; Ray Count: 16

4 - Ray Steps: 12; Ray Count: 32

More information about Screen Space Global Illumination:

https://docs.unrealengine.com/4.27/en-US/BuildingWorlds/LightingAndShadows/ScreenSpaceGlobalIllumination/

SS Reflection

Screen Space Reflection - alters the reflection that appears on the surface of materials within the scene view.

SSR Quality

1 - off

2 - low (not glossy)

3 - medium (not glossy)

4 - high (glossy/using roughness, few samples)

5 - very high (likely too slow for real-time)

SSR Max Roughness - Used to determine what roughness we fade the Screen Space Reflections (0.8 works well, smaller can run faster).

Ray Tracing Settings

System Requirements for Ray Tracing:

-Windows 10 RS5 (Build 1809) or later

-NVIDIA RTX and some GTX series cards with DXR support using the latest device drivers.

-Unreal Engine Rendering Path - Deferred path

-DX12 and Ray Tracing Enabled in your Project Settings (Link)

Example Ray Tracing Settings:

RT Reflections

Ray Traced Reflections (RTR) simulate accurate environment representation supporting multiple reflection bounces.

In contrast, Screen Space Reflections (SSR), Planar Reflections, or even Reflection Capture Actors cannot capture the entire scene dynamically nor does it have some of the limitations present in these other reflection methods.

More Info About RT Reflections:

https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/RayTracing/

RT Lighting

RT Sky Light - On the Sky Light, use SLS Captured Scene or SLS Specified Cubemap with raytraced shadowing to capture the distance parts of the level and apply that to the scene as a light.

RT Shadows - The Ray Tracer supports soft area shadows for all types of lights available in UE4.

Control the softness of the shadow by adjusting the following:

-On a Directional Light, set the Source Angle.

-On Point and Spot Lights, set the Source Radius.

-On a Rect Light, set the Barn Door Angle and Barn Door Length to shape the light and soften the shadow softness.

Ray Traced Ambient Occlusion (RTAO) - accurately shadows areas blocking ambient lighting better grounding objects in the environment, such as shadowing the corners and edges where walls meet or adding depth to the crevices and wrinkles in the skin.

More Info About Ray Traced Lighting:

https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/RayTracing/

RT Refraction

When setting up and using refraction for ray tracing, the Refraction material input is used to control the index of refraction (or IOR) in your translucent materials.

For refraction - Enable Two Sided in your Material. While this is not a requirement, single-sided/non-manifold geometry doesn't have a good way of handling volume tracking or ray medium stacking. A two-sided material provides accurate results and is the recommended method for handling all translucent materials when using ray tracing translucency.

Max Refraction Rays: Set the maximum number of rays to use. This should be a high enough value that it allows light to pass through to the other side.

More Info About RT Refraction/Translucency:

https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/RayTracing/

Last updated