Adjusting Engine Feature Levels

How to change features with console variables and commands or command line arguments.

Choose your operating system:

Windows

macOS

Linux

Console Variables and Commands

Certain features can be toggled at run-time in the game console or the editor output log / console. A lot of console variables exist to scale the render quality for a wide range of platforms (look at BaseScalability.ini, use the editor UI, the sg. console variables or the Scalability console command).

The most useful ones for profiling:

Console Variable

Description

r.SetRes

To change the screen/window resolution.

r.VSync

To enabled/disable VSync (might depend on native fullscreen).

r.ScreenPercentage

To reduce the internal render resolution, the image gets upsamples in another pass, see above.

r.AllowOcclusionQueries

To disable occlusion (can make scenes slower).

r.TiledDeferredShading

Allows to turn off the tile based deferred lighting technique (GPU particle lights do not have a fallback).

r.TiledDeferredShading.MinimumCount

Adjust how many lights we need to activate the tile based deferred lighting technique (no visual difference but can be a performance difference).

Pause

Stop the game or matinee (much more reliable profiling but disables updates/ticks).

Slomo

Allows to slow down or accelerate time.

r.VisualizeOccludedPrimitives

Displays the bounding boxes of occluded primitives.

StartFPSChart StopFPSChart

See below.

r.SeparateTranslucency

The feature fixes translucency with depth of field, can be disabled if not needed, has other implications (reading SceneColor).

r.Tonemapper.GrainQuantization

To disable the noise we add in the tonemapper to avoid color banding because of 8bit quantization, minor quality improvement, not needed when we output in 10:10:10.

r.SceneColorFormat

Allows to use a different scenecolor format (default is 64bit for best quality and to support screenspace subsurface scattering).

FX.AllowGPUSorting

To disable particle sorting (pays off when used for a lot of particles).

FX.FreezeParticleSimulation

To disable the particle updates.

r.SSR.MaxRoughness

Adjust the max roughness of Screen Space Reflections, to override the postprocess settings, see Show Flag VisualizeSSR.

Command Line Options

Certain features can be disabled on the command line e.g. UE4.exe -NoSound The most useful ones for profiling:

Commandline Option

Description

-NoSound

To disable the sound and music system.

-NoTextureStreaming

To disable texture streaming (good to isolate where hitches are coming from).

-NoVerifyGC

Otherwise expect massive hitching in Release builds at least every 30 seconds or so.

-NoVSync

Gives faster rendering but can result in image tearing, especially important with high FPS.

-Streaming

Useful with StartFPSChart/StopFPSChart to get the data from a non windows device to the cooking PC for further investigations (assuming we use cook on the fly).

Compile Options

You should never profile or measure performance in Debug builds. For convenience, we suggest profiling and working on performance in Development build. The actual performance in Shipping is the real target but as it has fewer development features it should only be faster. Test acts almost like Shipping but has a few code features still enabled (e.g. console, stat unit).

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss