UDN
Search public documentation:

SystemSettings
日本語訳
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 Home > Unreal Engine 3 Basics > Unreal Engine 3 System Settings
UE3 Home > Rendering > Unreal Engine 3 System Settings

Unreal Engine 3 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:

  • '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 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.

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.