System Settings

Overview
Unreal Engine 3 allows one to control various performance-related features through the FSystemSettings class, which is initialized from the [SystemSettings] section of SystemSettings.ini. Each platform typically has a [SystemSettingsPlatform] extension in the BaseSystemSettings.ini for emulation on the PC and in the editor, and in the hierarchal platform specific ini version named the same for use on the device. Unfortunately, these need to exist in both places to work effectively.

The settings are split into distinct sections; general (for PC and consoles), mobile (for mobile devices), Apex (for PhysX), textures, preferences (e.g. resolution), debug (for testing features), and unknown.

Runtime Modification
The console command 'Scale' has built in help, but can be used to manipulate settings while the game is running. For example: The following sections detail the various settings that can be controlled through SystemSettings. The INI setting is literally the string name of the variable, and the type of the variable determines the values that are supported. See BaseSystemSettings.ini for many examples.
 * 'Scale DumpMobile' will dump all the mobile specific settings, their current state, and a one line comment as to their purpose.
 * 'Scale Bucket Alpha' will apply the system settings defined in the [SystemSettingsAlpha] section. The [SystemSettingsScreenshot] section contains impractically high settings for taking ultra quality screenshots.
 * 'Scale set Bloom True' will turn on the bloom if it is off.
 * 'Scale shrink' shrinks the offscreen buffer, and expands on copy to the full screen resolution.

The hooks for setting the correct bucket remain in the code, but there is no longer any detection as the code was woefully out of date, and not applicable to modern machines at all.

The system settings have a set of valid values to pass to OpenAutomate.

Script Accessors
The values of individual system settings can be accessed at runtime within UnrealScript using the following getter functions found in Engine.uc:
 * GetSystemSettingBool(string SettingName) - Gets the value of the specified boolean System Setting
 * GetSystemSettingInt(string SettingName) - Gets the value of the specified integer System Setting
 * GetSystemSettingFloat(string SettingName) - Gets the value of the specified float System Setting

Texture LOD Settings
A great description of the settings for controlling texture resolution and detail can be found in the Texture Support and Settings page.

World Detail Settings

 * DetailMode
 * (INT) (1-3) Current detail mode; determines whether components of actors should be updated/ ticked. Corresponds to the EDetailMode enum in Scene.uc, also set in PrimitiveComponent, and returned by WorldInfo.GetDetailMode


 * SpeedTreeLeaves
 * (UBOOL) Whether to allow rendering of SpeedTree leaves.


 * SpeedTreeFronds
 * (UBOOL) Whether to allow rendering of SpeedTree fronds.


 * StaticDecals
 * (UBOOL) Whether to allow static decals.


 * DynamicDecals
 * (UBOOL) Whether to allow dynamic decals.


 * UnbatchedDecals
 * (UBOOL) Whether to allow decals that have not been placed in static draw lists and have dynamic view relevance


 * DecalCullDistanceScale
 * (FLOAT) Scale factor for distance culling decals


 * DynamicLights
 * (UBOOL) Whether to allow dynamic lights.


 * CompositeDynamicLights
 * (UBOOL) Whether to composte dynamic lights into light environments.


 * DirectionalLightMaps
 * (UBOOL) Whether to allow directional lightmaps, which use the material's normal and specular.


 * MotionBlur
 * (UBOOL) Whether to allow motion blur.


 * MotionBlurPause
 * (UBOOL) Whether to allow motion blur to be paused.


 * DepthOfField
 * (UBOOL) Whether to allow depth of field.


 * AmbientOcclusion
 * (UBOOL) Whether to allow ambient occlusion.


 * Bloom
 * (UBOOL) Whether to allow bloom.


 * UseHighQualityBloom
 * (UBOOL) Whether to use high quality bloom or fast versions.


 * Distortion
 * (UBOOL) Whether to allow distortion.


 * FilteredDistortion
 * (UBOOL) Whether to allow distortion to use bilinear filtering when sampling the scene color during its apply pass


 * DropParticleDistortion
 * (UBOOL) Whether to allow dropping distortion on particles based on WorldInfo::bDropDetail.


 * LensFlares
 * (UBOOL) Whether to allow rendering of LensFlares.


 * FogVolumes
 * (UBOOL) Whether to allow fog volumes.


 * FloatingPointRenderTargets
 * (UBOOL) Whether to allow floating point render targets to be used.


 * OneFrameThreadLag
 * (UBOOL) Whether to allow the rendering thread to lag one frame behind the game thread.


 * SkeletalMeshLODBias
 * (INT) LOD bias for skeletal meshes.


 * ParticleLODBias
 * (INT) LOD bias for particle systems.


 * AllowD3D10
 * (UBOOL) Whether to use D3D10 when it's available.


 * AllowRadialBlur
 * (UBOOL) Whether to allow radial blur effects to render.

Fractured Detail Settings

 * bAllowFracturedDamage
 * (UBOOL) Whether to allow fractured meshes to take damage.


 * NumFracturedPartsScale
 * (FLOAT) Scales the game-specific number of fractured physics objects allowed.


 * FractureDirectSpawnChanceScale
 * (FLOAT) Percent chance of a rigid body spawning after a fractured static mesh is damaged directly. [0-1]


 * FractureRadialSpawnChanceScale
 * (FLOAT) Percent chance of a rigid body spawning after a fractured static mesh is damaged by radial blast. [0-1]


 * FractureCullDistanceScale
 * (FLOAT) Distance scale for whether a fractured static mesh should actually fracture when damaged

Shadow Detail Settings

 * DynamicShadows
 * (UBOOL) Whether to allow dynamic shadows.


 * LightEnvironmentShadows
 * (UBOOL) Whether to allow dynamic light environments to cast shadows.


 * MinShadowResolution
 * (INT) min dimensions (in texels) allowed for rendering shadow subject depths


 * MaxShadowResolution
 * (INT) max square dimensions (in texels) allowed for rendering shadow subject depths


 * ShadowTexelsPerPixel
 * (FLOAT) The ratio of subject pixels to shadow texels.


 * bEnableBranchingPCFShadows
 * (UBOOL) Toggle Branching PCF implementation for projected shadows


 * bAllowBetterModulatedShadows
 * (UBOOL) Toggle extra geometry pass needed for culling shadows on emissive and backfaces


 * bEnableForegroundShadowsOnWorld
 * (UBOOL) hack to allow for foreground DPG objects to cast shadows on the world DPG


 * bEnableForegroundSelfShadowing
 * (UBOOL) Whether to allow foreground DPG self-shadowing


 * ShadowFilterRadius
 * (FLOAT) Radius, in shadowmap texels, of the filter disk


 * ShadowDepthBias
 * (FLOAT) Depth bias that is applied in the depth pass for all types of projected shadows except VSM


 * ShadowFadeResolution
 * (INT) Resolution in texel below which shadows are faded out.


 * ShadowFadeExponent
 * (FLOAT) Controls the rate at which shadows are faded out.


 * ShadowVolumeLightRadiusThreshold
 * (FLOAT) Lights with radius below threshold will not cast shadow volumes.


 * ShadowVolumePrimitiveScreenSpacePercentageThreshold
 * (FLOAT) Primitives with screen space percantage below threshold will not cast shadow volumes.

Texture Detail Settings

 * OnlyStreamInTextures
 * (UBOOL) If enabled, texture will only be streamed in, not out.


 * MaxAnisotropy
 * (INT) Maximum level of anisotropy used.


 * SceneCaptureStreamingMultiplier
 * (FLOAT) Scene capture streaming texture update distance scalar.


 * FoliageDrawRadiusMultiplier
 * (FLOAT) Foliage draw distance scalar.

VSync Settings

 * UseVSync
 * (UBOOL) Whether to use VSync or not.

Screen Percentage Settings

 * ScreenPercentage
 * (FLOAT) Percentage of screen main view should take up.


 * UpscaleScreenPercentage
 * (UBOOL) Whether to upscale the screen to take up the full front buffer.

Resolution Settings

 * ResX
 * (INT) Screen X resolution


 * ResY
 * (INT) Screen Y resolution


 * Fullscreen
 * (UBOOL) Fullscreen

MSAA Settings

 * MaxMultiSamples
 * (INT) The maximum number of MSAA samples to use.

Mesh Settings

 * bForceCPUAccessToGPUSkinVerts
 * (UBOOL) Whether to force CPU access to GPU skinned vertex data.


 * bDisableSkeletalInstanceWeights
 * (UBOOL) Whether to disable instanced skeletal weights.

Source
System Settings