Graphics Settings Setup¶
Out of the box the system provides a full array of Graphics Settings that will work without any additional set up required. The following instructions are only recommendations that would improve the system when applied to your project.
Improved Graphics scalability settings¶
Unreal Engine has a default set of scalability rules to define all graphics settings (shadows, lighting, textures, etc.) but those can often be extreme especially on lower settings (like disabling shadows entirely on Low).
To improve this, you can use the following scalability that provides more "reasonable" settings even on low/medium graphics.
To use it, simply open your file explorer, go inside the Config folder of your project and create a DefaultScalability.ini file.
Then, copy the following text and paste it inside the created file:
;-----------------------------------------------------------------------------------------------------------------
[ViewDistanceQuality@0]
r.ViewDistanceScale=0.5
[ViewDistanceQuality@1]
r.ViewDistanceScale=0.65
;-----------------------------------------------------------------------------------------------------------------
[PostProcessQuality@0]
-r.MotionBlurQuality=0
r.MotionBlur.HalfResGather=1
r.AmbientOcclusionMaxQuality=40
r.DepthOfFieldQuality=1
r.Tonemapper.Quality=2
r.DOF.Gather.ResolutionDivisor=2 ; lower gathering resolution
r.DOF.Gather.AccumulatorQuality=0; lower gathering accumulator quality
r.DOF.Gather.PostfilterMethod=2 ; Max3x3 postfilering method
r.DOF.Gather.EnableBokehSettings=0 ; no bokeh simulation when gathering
r.DOF.Gather.RingCount=3 ; low number of samples when gathering
r.DOF.Scatter.ForegroundCompositing=0; no foreground scattering
r.DOF.Scatter.BackgroundCompositing=0; no foreground scattering
r.DOF.Recombine.Quality=0; no slight out of focus
r.DOF.TemporalAAQuality=0; faster temporal accumulation
r.DOF.Kernel.MaxForegroundRadius=0.005 ; required because low gathering and no scattering and not looking great at 1080p
r.DOF.Kernel.MaxBackgroundRadius=0.005 ; required because low gathering and no scattering and not looking great at 1080p
[PostProcessQuality@1]
-r.MotionBlurQuality=3
r.MotionBlur.HalfResGather=1
r.LensFlareQuality=1
r.FastBlurThreshold=3
r.Tonemapper.Quality=4
[PostProcessQuality@2]
-r.MotionBlurQuality=3
r.MotionBlur.HalfResGather=0
r.FastBlurThreshold=7
[PostProcessQuality@3]
-r.MotionBlurQuality=4
r.MotionBlur.HalfResGather=0
;-----------------------------------------------------------------------------------------------------------------
[AntiAliasingQuality@0]
r.FXAA.Quality=1
r.TemporalAA.Quality=1
r.TSR.RejectionAntiAliasingQuality=1
[AntiAliasingQuality@1]
r.FXAA.Quality=2
;-----------------------------------------------------------------------------------------------------------------
[ShadowQuality@0]
r.LightFunctionQuality=1
r.ShadowQuality=2
r.Shadow.CSM.MaxCascades=2
r.Shadow.MaxCSMResolution=1024
r.Shadow.DistanceScale=0.65
-r.VolumetricFog=0
r.LightMaxDrawDistanceScale=0.25
r.CapsuleShadows=1
r.Shadow.Virtual.SMRT.RayCountDirectional=2
r.Shadow.Virtual.SMRT.RayCountLocal=2
[ShadowQuality@1]
r.Shadow.CSM.MaxCascades=2
r.Shadow.DistanceScale=0.75
r.Shadow.CSM.TransitionScale=0.3
-r.VolumetricFog=0
r.Shadow.Virtual.MaxPhysicalPages=1024
[ShadowQuality@2]
r.ShadowQuality=4
r.Shadow.DistanceScale=0.9
-r.VolumetricFog=1
-r.VolumetricFog.GridPixelSize=16
-r.VolumetricFog.GridSizeZ=64
-r.VolumetricFog.HistoryMissSupersampleCount=4
[ShadowQuality@3]
-r.VolumetricFog=1
-r.VolumetricFog.GridPixelSize=8
-r.VolumetricFog.GridSizeZ=128
-r.VolumetricFog.HistoryMissSupersampleCount=4
;-----------------------------------------------------------------------------------------------------------------
[GlobalIlluminationQuality@0]
r.DistanceFieldAO=1
r.AOQuality=1
r.SSGI.Quality=1
[GlobalIlluminationQuality@1]
r.SSGI.Quality=2
[GlobalIlluminationQuality@2]
r.SSGI.Quality=3
[GlobalIlluminationQuality@3]
r.SSGI.Quality=4
;-----------------------------------------------------------------------------------------------------------------
[ReflectionQuality@0]
r.SSR.Quality=2
[ReflectionQuality@3]
r.Lumen.TranslucencyReflections.FrontLayer.Enable=1
;-----------------------------------------------------------------------------------------------------------------
[TextureQuality@0]
r.Streaming.MipBias=2
r.Streaming.MaxNumTexturesToStreamPerFrame=2
r.Streaming.Boost=0.5
r.MaxAnisotropy=2
r.Streaming.PoolSize=500
[TextureQuality@1]
r.Streaming.PoolSize=750
[TextureQuality@2]
r.Streaming.PoolSize=1000
[TextureQuality@3]
r.Streaming.PoolSize=1500
;-----------------------------------------------------------------------------------------------------------------
[EffectsQuality@0]
r.SSS.Scale=0.5
-r.SSGI.Quality=0
r.EmitterSpawnRateScale=0.15
[EffectsQuality@1]
-r.SSGI.Quality=1
r.EmitterSpawnRateScale=0.3
[EffectsQuality@2]
r.DetailMode=2
-r.SSGI.Quality=2
r.EmitterSpawnRateScale=0.6
[EffectsQuality@3]
r.MaterialQualityLevel=3 ; High quality
-r.SSGI.Quality=3
;-----------------------------------------------------------------------------------------------------------------
[FoliageQuality@0]
foliage.DensityScale=0.3
grass.DensityScale=0.3
[FoliageQuality@1]
foliage.DensityScale=0.6
grass.DensityScale=0.6
;-----------------------------------------------------------------------------------------------------------------
Feel free to tweak these scalability settings to your specific game needs, for reference you can find the engine default scability in the following file:
[UE Install Folder]\Engine\Config\BaseScalability.ini
Apply a Graphic Preset on first game launch¶
Most of the time, Unreal Engine will usually default to use the Epic/Ultra graphics preset when first launching a game, which may be a poor experience on lower-end hardware.
To help with this issue, the system has a built-in parameter in the Global Config that you can tweak to apply a specific preset of your choice on first launch.
![]()