Skip to content

Instantly share code, notes, and snippets.

@lextra2
Last active August 28, 2025 07:20
Show Gist options
  • Save lextra2/9dae33b8f0a722e9096e2738a4b4af51 to your computer and use it in GitHub Desktop.
Save lextra2/9dae33b8f0a722e9096e2738a4b4af51 to your computer and use it in GitHub Desktop.
Unreal Engine 4
[ScalabilitySettings]
PerfIndexThresholds_ResolutionQuality="GPU 18 42 115"
PerfIndexThresholds_ViewDistanceQuality="Min 18 42 105"
PerfIndexThresholds_AntiAliasingQuality="GPU 18 42 115"
PerfIndexThresholds_ShadowQuality="Min 18 42 105"
PerfIndexThresholds_PostProcessQuality="GPU 18 42 115"
PerfIndexThresholds_TextureQuality="GPU 18 42 115"
PerfIndexThresholds_EffectsQuality="Min 18 42 105"
PerfIndexThresholds_FoliageQuality="GPU 18 42 115"
PerfIndexThresholds_ShadingQuality="GPU 18 42 115"
PerfIndexValues_ResolutionQuality="50 71 87 100 100"
;; ---------------------------------------------------------------------------------------------------------------------
[AntiAliasingQuality@0]
r.PostProcessAAQuality=0
[AntiAliasingQuality@1]
r.PostProcessAAQuality=2
[AntiAliasingQuality@2]
r.PostProcessAAQuality=6
r.TemporalAA.Algorithm=0 ;; Constructor
r.TemporalAA.Upsampling=1 ;; Constructor
r.TemporalAACatmullRom=0
r.TemporalAACurrentFrameWeight=0.1
r.TemporalAAFilterSize=1.0
r.TemporalAASamples=4 ;; Constructor
[AntiAliasingQuality@3]
r.PostProcessAAQuality=6
r.TemporalAA.Algorithm=0
r.TemporalAA.Upsampling=1
r.TemporalAACatmullRom=0
r.TemporalAACurrentFrameWeight=0.1
r.TemporalAAFilterSize=1.0
r.TemporalAASamples=4
[AntiAliasingQuality@Cine]
r.PostProcessAAQuality=6
r.TemporalAA.Algorithm=0
r.TemporalAA.Upsampling=1
r.TemporalAACatmullRom=0
r.TemporalAACurrentFrameWeight=0.1
r.TemporalAAFilterSize=1.0
r.TemporalAASamples=4
;; ---------------------------------------------------------------------------------------------------------------------
[ViewDistanceQuality@0]
r.SkeletalMeshLODBias=0
r.ViewDistanceScale=1.0
[ViewDistanceQuality@1]
r.SkeletalMeshLODBias=0
r.ViewDistanceScale=1.0
[ViewDistanceQuality@2]
r.SkeletalMeshLODBias=0
r.ViewDistanceScale=1.0
foliage.LODDistanceScale=1.0
r.StaticMeshLODDistanceScale=0.5
[ViewDistanceQuality@3]
r.SkeletalMeshLODBias=0
r.ViewDistanceScale=2.0
foliage.LODDistanceScale=2.0
r.StaticMeshLODDistanceScale=0.1
[ViewDistanceQuality@Cine]
r.SkeletalMeshLODBias=0
r.ViewDistanceScale=10.0
foliage.LODDistanceScale=10.0 ;; Constructor
r.StaticMeshLODDistanceScale=0.1
;; ---------------------------------------------------------------------------------------------------------------------
[ShadowQuality@0]
r.LightFunctionQuality=1
r.ShadowQuality=5
r.Shadow.CSM.MaxCascades=10
r.Shadow.MaxResolution=1024
r.Shadow.MaxCSMResolution=1024
r.Shadow.RadiusThreshold=0.03
r.Shadow.DistanceScale=1.0
r.Shadow.CSM.TransitionScale=1.0
r.Shadow.PreShadowResolutionFactor=1.0
r.DistanceFieldShadowing=1
r.DistanceFieldAO=1
r.AOQuality=2
r.VolumetricFog=1
r.VolumetricFog.GridPixelSize=16
r.VolumetricFog.GridSizeZ=128
r.VolumetricFog.HistoryMissSupersampleCount=4
r.LightMaxDrawDistanceScale=1
r.CapsuleShadows=1
r.ContactShadows=1
r.Shadow.SpotLightTransitionScale=1024
r.Shadow.TransitionScale=1024
[ShadowQuality@1]
r.LightFunctionQuality=1
r.ShadowQuality=5
r.Shadow.CSM.MaxCascades=10
r.Shadow.MaxResolution=2048
r.Shadow.MaxCSMResolution=2048
r.Shadow.RadiusThreshold=0.01
r.Shadow.DistanceScale=1.0
r.Shadow.CSM.TransitionScale=1.0
r.Shadow.PreShadowResolutionFactor=1.0
r.DistanceFieldShadowing=1
r.DistanceFieldAO=1
r.AOQuality=2
r.VolumetricFog=1
r.VolumetricFog.GridPixelSize=16
r.VolumetricFog.GridSizeZ=128
r.VolumetricFog.HistoryMissSupersampleCount=4
r.LightMaxDrawDistanceScale=1
r.CapsuleShadows=1
r.ContactShadows=1
r.Shadow.SpotLightTransitionScale=4096
r.Shadow.TransitionScale=4096
[ShadowQuality@2]
r.LightFunctionQuality=1
r.ShadowQuality=5
r.Shadow.CSM.MaxCascades=10
r.Shadow.MaxResolution=2048
r.Shadow.MaxCSMResolution=2048
r.Shadow.RadiusThreshold=0.01
r.Shadow.DistanceScale=1.0
r.Shadow.CSM.TransitionScale=1.0
r.Shadow.PreShadowResolutionFactor=1.0
r.DistanceFieldShadowing=1
r.DistanceFieldAO=1
r.AOQuality=2
r.VolumetricFog=1
r.VolumetricFog.GridPixelSize=16
r.VolumetricFog.GridSizeZ=128
r.VolumetricFog.HistoryMissSupersampleCount=4
r.LightMaxDrawDistanceScale=1
r.CapsuleShadows=1
r.ContactShadows=1
r.Shadow.SpotLightTransitionScale=4096
r.Shadow.TransitionScale=4096
[ShadowQuality@3]
r.LightFunctionQuality=1
r.ShadowQuality=5
r.Shadow.CSM.MaxCascades=10
r.Shadow.MaxResolution=2048
r.Shadow.MaxCSMResolution=2048
r.Shadow.RadiusThreshold=0.01
r.Shadow.DistanceScale=1.0
r.Shadow.CSM.TransitionScale=1.0
r.Shadow.PreShadowResolutionFactor=1.0
r.DistanceFieldShadowing=1
r.DistanceFieldAO=1
r.AOQuality=2
r.VolumetricFog=1
r.VolumetricFog.GridPixelSize=16
r.VolumetricFog.GridSizeZ=128
r.VolumetricFog.HistoryMissSupersampleCount=4
r.LightMaxDrawDistanceScale=1
r.CapsuleShadows=1
r.ContactShadows=1
r.Shadow.SpotLightTransitionScale=4096
r.Shadow.TransitionScale=4096
[ShadowQuality@Cine]
r.LightFunctionQuality=1
r.ShadowQuality=5
r.Shadow.CSM.MaxCascades=10
r.Shadow.MaxResolution=4096
r.Shadow.MaxCSMResolution=4096
r.Shadow.RadiusThreshold=0
r.Shadow.DistanceScale=1.0
r.Shadow.CSM.TransitionScale=1.0
r.Shadow.PreShadowResolutionFactor=1.0
r.DistanceFieldShadowing=1
r.DistanceFieldAO=1
r.AOQuality=2
r.VolumetricFog=1
r.VolumetricFog.GridPixelSize=16
r.VolumetricFog.GridSizeZ=128
r.VolumetricFog.HistoryMissSupersampleCount=4
r.LightMaxDrawDistanceScale=1
r.CapsuleShadows=1
r.ContactShadows=1
r.Shadow.SpotLightTransitionScale=-1 ;; Constructor
r.Shadow.TransitionScale=-1 ;; Constructor
;; ---------------------------------------------------------------------------------------------------------------------
[PostProcessQuality@0]
r.MotionBlurQuality=0
r.AmbientOcclusionMipLevelFactor=0.4
r.AmbientOcclusionMaxQuality=-100
r.AmbientOcclusionLevels=1
r.AmbientOcclusionRadiusScale=1.0
r.GTAO.Numangles=2
r.DepthOfFieldQuality=1
r.RenderTargetPoolMin=1000
r.LensFlareQuality=0
r.SceneColorFringeQuality=0
r.EyeAdaptationQuality=2
r.BloomQuality=5
r.FastBlurThreshold=100
r.Upscale.Quality=3
r.Tonemapper.GrainQuantization=0
r.LightShaftQuality=1
r.Filter.SizeScale=1
r.Tonemapper.Quality=5
r.Tonemapper.Sharpen=0.0
[PostProcessQuality@1]
r.MotionBlurQuality=0
r.AmbientOcclusionMipLevelFactor=0.4
r.AmbientOcclusionMaxQuality=-100
r.AmbientOcclusionLevels=1
r.AmbientOcclusionRadiusScale=1.0
r.GTAO.Numangles=2
r.DepthOfFieldQuality=1
r.RenderTargetPoolMin=1000
r.LensFlareQuality=0
r.SceneColorFringeQuality=0
r.EyeAdaptationQuality=2
r.BloomQuality=5
r.FastBlurThreshold=100
r.Upscale.Quality=3
r.Tonemapper.GrainQuantization=0
r.LightShaftQuality=1
r.Filter.SizeScale=1
r.Tonemapper.Quality=5
r.Tonemapper.Sharpen=0.0
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.006 ; required because low gathering and no scattering and not looking great at 1080p
r.DOF.Kernel.MaxBackgroundRadius=0.006 ; required because low gathering and no scattering and not looking great at 1080p
[PostProcessQuality@2]
r.MotionBlurQuality=0
r.AmbientOcclusionMipLevelFactor=0.4
r.AmbientOcclusionMaxQuality=-100
r.AmbientOcclusionLevels=1
r.AmbientOcclusionRadiusScale=1.0
r.GTAO.Numangles=2
r.DepthOfFieldQuality=1
r.RenderTargetPoolMin=1000
r.LensFlareQuality=0
r.SceneColorFringeQuality=0
r.EyeAdaptationQuality=2
r.BloomQuality=5
r.FastBlurThreshold=100
r.Upscale.Quality=3
r.Tonemapper.GrainQuantization=0
r.LightShaftQuality=1
r.Filter.SizeScale=1
r.Tonemapper.Quality=5
r.Tonemapper.Sharpen=0.0
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=4 ; medium number of samples when gathering
r.DOF.Scatter.ForegroundCompositing=1 ; additive foreground scattering
r.DOF.Scatter.BackgroundCompositing=1 ; no background occlusion
r.DOF.Scatter.EnableBokehSettings=0 ; no bokeh simulation when scattering
r.DOF.Scatter.MaxSpriteRatio=0.04 ; only a maximum of 4% of scattered bokeh
r.DOF.Recombine.Quality=0 ; no slight out of focus
r.DOF.TemporalAAQuality=0 ; faster temporal accumulation
r.DOF.Kernel.MaxForegroundRadius=0.012 ; required because of AccumulatorQuality=0
r.DOF.Kernel.MaxBackgroundRadius=0.012 ; required because of AccumulatorQuality=0
[PostProcessQuality@3]
r.MotionBlurQuality=0
r.AmbientOcclusionMipLevelFactor=0.4
r.AmbientOcclusionMaxQuality=-100
r.AmbientOcclusionLevels=1
r.AmbientOcclusionRadiusScale=1.0
r.GTAO.Numangles=2
r.DepthOfFieldQuality=1
r.RenderTargetPoolMin=1000
r.LensFlareQuality=0
r.SceneColorFringeQuality=0
r.EyeAdaptationQuality=2
r.BloomQuality=5
r.FastBlurThreshold=100
r.Upscale.Quality=3
r.Tonemapper.GrainQuantization=0
r.LightShaftQuality=1
r.Filter.SizeScale=1
r.Tonemapper.Quality=5
r.Tonemapper.Sharpen=0.0
r.DOF.Gather.AccumulatorQuality=1 ; higher gathering accumulator quality
r.DOF.Gather.PostfilterMethod=1 ; Median3x3 postfilering method
r.DOF.Gather.EnableBokehSettings=0 ; no bokeh simulation when gathering
r.DOF.Gather.RingCount=4 ; medium number of samples when gathering
r.DOF.Scatter.ForegroundCompositing=1 ; additive foreground scattering
r.DOF.Scatter.BackgroundCompositing=2 ; additive background scattering
r.DOF.Scatter.EnableBokehSettings=1 ; bokeh simulation when scattering
r.DOF.Scatter.MaxSpriteRatio=0.1 ; only a maximum of 10% of scattered bokeh
r.DOF.Recombine.Quality=1 ; cheap slight out of focus
r.DOF.Recombine.EnableBokehSettings=0 ; no bokeh simulation on slight out of focus
r.DOF.TemporalAAQuality=1 ; more stable temporal accumulation
r.DOF.Kernel.MaxForegroundRadius=0.025
r.DOF.Kernel.MaxBackgroundRadius=0.025
[PostProcessQuality@Cine]
r.MotionBlurQuality=0
r.AmbientOcclusionMipLevelFactor=0.4
r.AmbientOcclusionMaxQuality=-100
r.AmbientOcclusionLevels=1
r.AmbientOcclusionRadiusScale=1.0
r.GTAO.Numangles=4
r.DepthOfFieldQuality=1
r.RenderTargetPoolMin=1000
r.LensFlareQuality=0
r.SceneColorFringeQuality=0
r.EyeAdaptationQuality=2
r.BloomQuality=5
r.FastBlurThreshold=100
r.Upscale.Quality=3
r.Tonemapper.GrainQuantization=0
r.LightShaftQuality=1
r.Filter.SizeScale=1
r.Tonemapper.Quality=5
r.Tonemapper.Sharpen=0.0
r.DOF.Gather.AccumulatorQuality=1 ; higher gathering accumulator quality
r.DOF.Gather.PostfilterMethod=1 ; Median3x3 postfilering method
r.DOF.Gather.EnableBokehSettings=1 ; bokeh simulation when gathering
r.DOF.Gather.RingCount=5 ; high number of samples when gathering
r.DOF.Scatter.ForegroundCompositing=1 ; additive foreground scattering
r.DOF.Scatter.BackgroundCompositing=2 ; background scattering occlusion
r.DOF.Scatter.EnableBokehSettings=1 ; no bokeh simulation when scattering
r.DOF.Scatter.MaxSpriteRatio=0.25 ; only a maximum of 10% of scattered bokeh
r.DOF.Recombine.Quality=2 ; highest slight out of focus
r.DOF.Recombine.EnableBokehSettings=1 ; bokeh simulation on slight out of focus
r.DOF.TemporalAAQuality=1 ; more stable temporal accumulation
r.DOF.Kernel.MaxForegroundRadius=0.025
r.DOF.Kernel.MaxBackgroundRadius=0.025
;; ---------------------------------------------------------------------------------------------------------------------
[TextureQuality@0]
r.Streaming.MipBias=0
r.Streaming.AmortizeCPUToGPUCopy=0
r.Streaming.MaxNumTexturesToStreamPerFrame=0
r.Streaming.Boost=1
r.MaxAnisotropy=16
r.VT.MaxAnisotropy=16
r.Streaming.LimitPoolSizeToVRAM=0
r.Streaming.PoolSize=8192
r.Streaming.PoolSizeForMeshes=-1
r.Streaming.MaxEffectiveScreenSize=0
[TextureQuality@1]
r.Streaming.MipBias=0
r.Streaming.AmortizeCPUToGPUCopy=0
r.Streaming.MaxNumTexturesToStreamPerFrame=0
r.Streaming.Boost=1
r.MaxAnisotropy=16
r.VT.MaxAnisotropy=16
r.Streaming.LimitPoolSizeToVRAM=0
r.Streaming.PoolSize=8192
r.Streaming.PoolSizeForMeshes=-1
r.Streaming.MaxEffectiveScreenSize=0
[TextureQuality@2]
r.Streaming.MipBias=0
r.Streaming.AmortizeCPUToGPUCopy=0
r.Streaming.MaxNumTexturesToStreamPerFrame=0
r.Streaming.Boost=1
r.MaxAnisotropy=16
r.VT.MaxAnisotropy=16
r.Streaming.LimitPoolSizeToVRAM=0
r.Streaming.PoolSize=8192
r.Streaming.PoolSizeForMeshes=-1
r.Streaming.MaxEffectiveScreenSize=0
[TextureQuality@3]
r.Streaming.MipBias=0
r.Streaming.AmortizeCPUToGPUCopy=0
r.Streaming.MaxNumTexturesToStreamPerFrame=0
r.Streaming.Boost=1
r.MaxAnisotropy=16
r.VT.MaxAnisotropy=16
r.Streaming.LimitPoolSizeToVRAM=0
r.Streaming.PoolSize=8192
r.Streaming.PoolSizeForMeshes=-1
r.Streaming.MaxEffectiveScreenSize=0
[TextureQuality@Cine]
r.Streaming.MipBias=0
r.Streaming.AmortizeCPUToGPUCopy=0
r.Streaming.MaxNumTexturesToStreamPerFrame=0
r.Streaming.Boost=1
r.MaxAnisotropy=16
r.VT.MaxAnisotropy=16
r.Streaming.LimitPoolSizeToVRAM=0
r.Streaming.PoolSize=8192
r.Streaming.PoolSizeForMeshes=-1
r.Streaming.MaxEffectiveScreenSize=0
;; ---------------------------------------------------------------------------------------------------------------------
[EffectsQuality@0]
r.TranslucencyLightingVolumeDim=64
r.RefractionQuality=2
r.SSR.Quality=3
r.SSR.HalfResSceneColor=0
r.SSR.MaxRoughness=0.8
r.SceneColorFormat=4
r.DetailMode=2
r.TranslucencyVolumeBlur=1
r.MaterialQualityLevel=1
r.AnisotropicMaterials=1
r.SSS.Scale=1
r.SSS.SampleSet=2
r.SSS.Quality=1
r.SSS.HalfRes=0
r.SSGI.Enable=0
r.SSGI.HalfRes=1
r.SSGI.LeakFreeReprojection=1
r.SSGI.Quality=4
r.EmitterSpawnRateScale=1.0
r.ParticleLightQuality=2
r.SkyAtmosphere.AerialPerspectiveLUT.FastApplyOnOpaque=1
r.SkyAtmosphere.AerialPerspectiveLUT.SampleCountMaxPerSlice=4
r.SkyAtmosphere.AerialPerspectiveLUT.DepthResolution=16.0
r.SkyAtmosphere.FastSkyLUT=1
r.SkyAtmosphere.FastSkyLUT.SampleCountMin=4.0
r.SkyAtmosphere.FastSkyLUT.SampleCountMax=128.0
r.SkyAtmosphere.SampleCountMin=4.0
r.SkyAtmosphere.SampleCountMax=128.0
r.SkyAtmosphere.TransmittanceLUT.UseSmallFormat=0
r.SkyAtmosphere.TransmittanceLUT.SampleCount=10.0
r.SkyAtmosphere.MultiScatteringLUT.SampleCount=15.0
r.SkyLight.RealTimeReflectionCapture=1
fx.Niagara.QualityLevel=3
[EffectsQuality@1]
r.TranslucencyLightingVolumeDim=64
r.RefractionQuality=2
r.SSR.Quality=3
r.SSR.HalfResSceneColor=1
r.SSR.MaxRoughness=0.8
r.SceneColorFormat=4
r.DetailMode=2
r.TranslucencyVolumeBlur=1
r.MaterialQualityLevel=1
r.AnisotropicMaterials=1
r.SSS.Scale=1
r.SSS.SampleSet=2
r.SSS.Quality=1
r.SSS.HalfRes=1
r.SSGI.Enable=0
r.SSGI.HalfRes=1
r.SSGI.LeakFreeReprojection=1
r.SSGI.Quality=4
r.EmitterSpawnRateScale=1.0
r.ParticleLightQuality=2
r.SkyAtmosphere.AerialPerspectiveLUT.FastApplyOnOpaque=1
r.SkyAtmosphere.AerialPerspectiveLUT.SampleCountMaxPerSlice=4
r.SkyAtmosphere.AerialPerspectiveLUT.DepthResolution=16.0
r.SkyAtmosphere.FastSkyLUT=1
r.SkyAtmosphere.FastSkyLUT.SampleCountMin=4.0
r.SkyAtmosphere.FastSkyLUT.SampleCountMax=128.0
r.SkyAtmosphere.SampleCountMin=4.0
r.SkyAtmosphere.SampleCountMax=128.0
r.SkyAtmosphere.TransmittanceLUT.UseSmallFormat=0
r.SkyAtmosphere.TransmittanceLUT.SampleCount=10.0
r.SkyAtmosphere.MultiScatteringLUT.SampleCount=15.0
r.SkyLight.RealTimeReflectionCapture=1
fx.Niagara.QualityLevel=3
[EffectsQuality@2]
r.TranslucencyLightingVolumeDim=64
r.RefractionQuality=2
r.SSR.Quality=3
r.SSR.HalfResSceneColor=1
r.SSR.MaxRoughness=0.8
r.SceneColorFormat=4
r.DetailMode=2
r.TranslucencyVolumeBlur=1
r.MaterialQualityLevel=1
r.AnisotropicMaterials=1
r.SSS.Scale=1
r.SSS.SampleSet=2
r.SSS.Quality=1
r.SSS.HalfRes=1
r.SSGI.Enable=0
r.SSGI.HalfRes=1
r.SSGI.LeakFreeReprojection=1
r.SSGI.Quality=4
r.EmitterSpawnRateScale=1.0
r.ParticleLightQuality=2
r.SkyAtmosphere.AerialPerspectiveLUT.FastApplyOnOpaque=1
r.SkyAtmosphere.AerialPerspectiveLUT.SampleCountMaxPerSlice=4
r.SkyAtmosphere.AerialPerspectiveLUT.DepthResolution=16.0
r.SkyAtmosphere.FastSkyLUT=1
r.SkyAtmosphere.FastSkyLUT.SampleCountMin=4.0
r.SkyAtmosphere.FastSkyLUT.SampleCountMax=128.0
r.SkyAtmosphere.SampleCountMin=4.0
r.SkyAtmosphere.SampleCountMax=128.0
r.SkyAtmosphere.TransmittanceLUT.UseSmallFormat=0
r.SkyAtmosphere.TransmittanceLUT.SampleCount=10.0
r.SkyAtmosphere.MultiScatteringLUT.SampleCount=15.0
r.SkyLight.RealTimeReflectionCapture=1
fx.Niagara.QualityLevel=3
[EffectsQuality@3]
r.TranslucencyLightingVolumeDim=64
r.RefractionQuality=2
r.SSR.Quality=3
r.SSR.HalfResSceneColor=1
r.SSR.MaxRoughness=0.8
r.SceneColorFormat=4
r.DetailMode=2
r.TranslucencyVolumeBlur=1
r.MaterialQualityLevel=1
r.AnisotropicMaterials=1
r.SSS.Scale=1
r.SSS.SampleSet=2
r.SSS.Quality=1
r.SSS.HalfRes=1
r.SSGI.Enable=0
r.SSGI.HalfRes=1
r.SSGI.LeakFreeReprojection=1
r.SSGI.Quality=4
r.EmitterSpawnRateScale=1.0
r.ParticleLightQuality=2
r.SkyAtmosphere.AerialPerspectiveLUT.FastApplyOnOpaque=1
r.SkyAtmosphere.AerialPerspectiveLUT.SampleCountMaxPerSlice=4
r.SkyAtmosphere.AerialPerspectiveLUT.DepthResolution=16.0
r.SkyAtmosphere.FastSkyLUT=1
r.SkyAtmosphere.FastSkyLUT.SampleCountMin=4.0
r.SkyAtmosphere.FastSkyLUT.SampleCountMax=128.0
r.SkyAtmosphere.SampleCountMin=4.0
r.SkyAtmosphere.SampleCountMax=128.0
r.SkyAtmosphere.TransmittanceLUT.UseSmallFormat=0
r.SkyAtmosphere.TransmittanceLUT.SampleCount=10.0
r.SkyAtmosphere.MultiScatteringLUT.SampleCount=15.0
r.SkyLight.RealTimeReflectionCapture=1
fx.Niagara.QualityLevel=3
[EffectsQuality@Cine]
r.TranslucencyLightingVolumeDim=64
r.RefractionQuality=2
r.SSR.Quality=4
r.SSR.HalfResSceneColor=0
r.SSR.MaxRoughness=1.0
r.SceneColorFormat=4
r.DetailMode=2
r.TranslucencyVolumeBlur=1
r.MaterialQualityLevel=1
r.AnisotropicMaterials=1
r.SSS.Scale=1
r.SSS.SampleSet=2
r.SSS.Quality=1
r.SSS.HalfRes=1
r.SSGI.Enable=1
r.SSGI.HalfRes=1
r.SSGI.LeakFreeReprojection=1
r.SSGI.Quality=4
r.EmitterSpawnRateScale=1.0
r.ParticleLightQuality=2
r.SkyAtmosphere.AerialPerspectiveLUT.FastApplyOnOpaque=0
r.SkyAtmosphere.AerialPerspectiveLUT.SampleCountMaxPerSlice=8
r.SkyAtmosphere.AerialPerspectiveLUT.DepthResolution=32.0
r.SkyAtmosphere.FastSkyLUT=0
r.SkyAtmosphere.FastSkyLUT.SampleCountMin=4.0
r.SkyAtmosphere.FastSkyLUT.SampleCountMax=256.0
r.SkyAtmosphere.SampleCountMin=8.0
r.SkyAtmosphere.SampleCountMax=256.0
r.SkyAtmosphere.TransmittanceLUT.UseSmallFormat=0
r.SkyAtmosphere.TransmittanceLUT.SampleCount=30.0
r.SkyAtmosphere.MultiScatteringLUT.SampleCount=20.0
r.SkyLight.RealTimeReflectionCapture=1
fx.Niagara.QualityLevel=4
;; ---------------------------------------------------------------------------------------------------------------------
[FoliageQuality@0]
foliage.DensityScale=1.0
grass.DensityScale=1.0
[FoliageQuality@1]
foliage.DensityScale=1.0
grass.DensityScale=1.0
[FoliageQuality@2]
foliage.DensityScale=1.0
grass.DensityScale=1.0
[FoliageQuality@3]
foliage.DensityScale=1.0
grass.DensityScale=1.0
[FoliageQuality@Cine]
foliage.DensityScale=1.0
grass.DensityScale=1.0
;; ---------------------------------------------------------------------------------------------------------------------
[ShadingQuality@0]
r.HairStrands.SkyLighting.IntegrationType=2
r.HairStrands.SkyAO.SampleCount=4
r.HairStrands.Visibility.MSAA.SamplePerPixel=1
r.HairStrands.Interpolation.UseSingleGuide=1
[ShadingQuality@1]
r.HairStrands.SkyLighting.IntegrationType=2
r.HairStrands.SkyAO.SampleCount=4
r.HairStrands.Visibility.MSAA.SamplePerPixel=1
r.HairStrands.Interpolation.UseSingleGuide=1
[ShadingQuality@2]
r.HairStrands.SkyLighting.IntegrationType=2
r.HairStrands.SkyAO.SampleCount=4
r.HairStrands.Visibility.MSAA.SamplePerPixel=4
r.HairStrands.Interpolation.UseSingleGuide=1
[ShadingQuality@3]
r.HairStrands.SkyLighting.IntegrationType=2
r.HairStrands.SkyAO.SampleCount=4
r.HairStrands.Visibility.MSAA.SamplePerPixel=4
r.HairStrands.Interpolation.UseSingleGuide=0
[ShadingQuality@Cine]
r.HairStrands.SkyLighting.IntegrationType=0
r.HairStrands.SkyAO.SampleCount=8
r.HairStrands.Visibility.MSAA.SamplePerPixel=8
r.HairStrands.Interpolation.UseSingleGuide=0
ResolutionSizeX=3840
ResolutionSizeY=2160
LastUserConfirmedResolutionSizeX=3840
LastUserConfirmedResolutionSizeY=2160
WindowPosX=-1
WindowPosY=-1
FullscreenMode=0 ;; 0 = Hardware: Independent Flip (Good), 1 = Composed: Flip (Shit)
LastConfirmedFullscreenMode=0 ;;
PreferredFullscreenMode=0 ;;
@lextra2
Copy link
Author

lextra2 commented Apr 22, 2022

@lextra2
Copy link
Author

lextra2 commented Apr 22, 2022

r.TemporalAA.Algorithm

  • 0 = Gen 4 TAAU (Default)
  • 1 = Gen 5 TAAU

r.TemporalAA.Upsampling

  • 0 = Spatial (Default)
  • 1 = Spatial & Temporal

r.TemporalAA.HistoryScreenPercentage

  • 100 = 100%, Standard Resolution Temporal AA
  • 200 = 200%, SuperSampled Temporal AA

r.TemporalAACurrentFrameWeight

  • 0.04 (Default)
    Weight of current frame's contribution to the history.
    Low values cause blurriness and ghosting.
    High values are sharper but fail to hide jittering/aliasing.

r.TemporalAAFilterSize

  • Size of the filter kernel. (1.0 = smoother, 0.0 = sharper but aliased).

r.TemporalAASamples

  • Number of jittered positions for temporal AA (4, 8=default, 16, 32, 64).

r.VertexDeformationOutputsVelocity

  • Enables materials with World Position Offset and/or World Displacement to output velocities during velocity pass even when the actor has not moved. This incurs a performance cost and can be quite significant if many objects are using WPO, such as a forest of trees - in that case consider r.BasePassOutputsVelocity instead.

r.BasePassOutputsVelocity

  • Enables rendering WPO velocities on the base pass.
  • 0: Renders in a separate pass/rendertarget, all movable static meshes + dynamic.
  • 1: Renders during the regular base pass adding an extra GBuffer, but allowing motion blur on materials with Time-based WPO

r.BasePassForceOutputsVelocity

  • Force the base pass to compute motion vector, regardless of FPrimitiveUniformShaderParameters.
  • 0: Disabled (default)
  • 1: Enabled

@lextra2
Copy link
Author

lextra2 commented Oct 23, 2022

@lextra2
Copy link
Author

lextra2 commented Sep 17, 2024

r.BasePassOutputsVelocity=1
r.BasePassForceOutputsVelocity=1
r.DefaultFeature.AntiAliasing=2
r.PostProcessAAQuality=6

r.TemporalAA.Algorithm=1
r.TemporalAA.HistoryScreenPercentage=100
r.TemporalAA.Upsampling=1
r.TemporalAACatmullRom=0
r.TemporalAACurrentFrameWeight=0.1
r.TemporalAAFilterSize=1.0
r.TemporalAASamples=4

@lextra2
Copy link
Author

lextra2 commented Sep 19, 2024

r.D3D11.UseAllowTearing=1
r.D3D12.UseAllowTearing=1

r.AMDD3D11MultiThreadedDevice=true
r.Streaming.MaxTempMemoryAllowed=128
r.Streaming.AmortizeCPUToGPUCopy=0      ;; 0 disables streaming throttle
r.Streaming.Boost=1
r.Streaming.HLODStrategy=0
r.Streaming.LimitPoolSizeToVRAM=0
r.Streaming.MipBias=0
r.Streaming.PoolSize=8192                        ;; Is ignored if r.Streaming.LimitPoolSizeToVRAM=1
r.Streaming.PoolSizeForMeshes=-1
r.Streaming.UseAllMips=1
r.Streaming.FullyLoadUsedTextures=1
r.RenderTargetPoolMin=1000

@lextra2
Copy link
Author

lextra2 commented Oct 13, 2024

Game launch options, to partial fix animation stutters:

-usefixedtimestep -fps 60

@lextra2
Copy link
Author

lextra2 commented Jul 21, 2025

For Input.ini in AppData

[/Script/Engine.InputSettings]
ConsoleKeys=F10

For Engine.ini in AppData

[SystemSettings]
r.RenderTargetPoolMin=1000                          ;;  1000 for Chinematic, 400 for Epic
r.MaxAnisotropy=16
r.VT.MaxAnisotropy=16
;;
r.Streaming.AmortizeCPUToGPUCopy=0            ;; 0 disables streaming throttle
r.Streaming.FullyLoadUsedTextures=1                ;; Can cause crashes if enabled
r.Streaming.PoolSize=8192
r.Streaming.MaxTempMemoryAllowed=128
;;
r.DepthOfFieldQuality=0
r.LensFlareQuality=0
r.MotionBlurQuality=0
r.SceneColorFringeQuality=0
r.Tonemapper.Quality=1
r.Tonemapper.GrainQuantization=0
r.Tonemapper.Sharpen=1.0

r.HZBOcclusion=2         ;; 0 = GPU Driver culling, 2 = Force Unreal culling, which is less noticeable

r.AmbientOcclusionLevels=1                    ;; Should always be 1 since 2 has a massive performance penalty
r.AmbientOcclusionMaxQuality=-100
r.AmbientOcclusionMipLevelFactor=0.4
r.AmbientOcclusionRadiusScale=1.0

r.SSR.Quality=3
r.SSR.MaxRoughness=1.0

r.VolumetricFog=1
r.VolumetricFog.GridPixelSize=16         ;; 8=Default. A value of 16 is always a good speedup without any visual loss
r.VolumetricFog.GridSizeZ=128
r.VolumetricFog.HistoryMissSupersampleCount=4

r.SSGI.Enable=0
r.SSGI.HalfRes=1
r.SSGI.LeakFreeReprojection=1
r.SSGI.Quality=4

r.ShadowQuality=5
r.Shadow.CSM.MaxCascades=10            ;; Should be at least 4
r.Shadow.MaxResolution=2048
r.Shadow.MaxCSMResolution=2048      ;; Dynamic shadow resolution
r.Shadow.RadiusThreshold=0.01
r.Shadow.DistanceScale=1.0
r.Shadow.CSM.TransitionScale=1.0
r.Shadow.PreShadowResolutionFactor=1.0

r.Shadow.SpotLightTransitionScale=4096    ;; Default: 60 - The distance at which to disable shadows from spot lights.
r.Shadow.TransitionScale=4096                   ;; Default: 60


foliage.LODDistanceScale=10
r.ViewDistanceScale=10
r.StaticMeshLODDistanceScale=0.1          ;; 0.5=2x - 0.333=3x - 0.25=4x - 0.2=5x - 0.125=8x - 0.1=10x

r.FinishCurrentFrame=0        ;; Massive performance loss. Leave at =0

r.OneFrameThreadLag=1     ;; Significant performance loss in some games. Leave at =1

r.GTSyncType=0          ;; 0 is ideal

r.Vsync=0
t.MaxFPS=0
rhi.SyncInterval=1      ;; =0 disables Vsync.

r.ScreenPercentage=100

@lextra2
Copy link
Author

lextra2 commented Jul 21, 2025

How to mod Unreal Engine 4+ Games:

Software needed:


Check for .pak version:
repak --aes-key 0x00000 info "RePak\pakchunk0-WindowsNoEditor.pak"

Repack with the same .pak version:
repak pack --version V9 "RePak\MyMod"


  1. Open games .pak file with FModel
  2. Press on "Directory" and select "AES" IF the files are encrypted. If they're, drag-&-drop the games .exe onto AESDumpster-Win64.exe
  3. Set Loading Model to "All" than press "Load".
  4. Look for "Engine > Config" and "GameName > Config"
  5. Right-click on "Config" folder -> Export Folder's Packages Raw Data
  6. Copy the configs from the exported location into the folder with RePak.exe
  7. Make sure to follow the filepath structure in step 2, or what ever the game is using
  8. Edit configs
  9. Convert folder to .pak with the following command:
  10. repak pack "FolderName"
  11. Rename newly created file to FIX.pak
  12. Go to "GameName > Content > Paks" and create a folder named "~mods"
  13. Copy FIX.pak into the ~mods folder
  14. Install UE4SS or UUU to access the ingame command console
  15. Check ingame for the changed variables with the command console, to make sure they were applied correctly

@lextra2
Copy link
Author

lextra2 commented Jul 27, 2025

https://gpuopen.com/learn/ue4-fsr/

  • Ultra Quality ( r.ScreenPercentage 77 ) : r.MipMapLODBias = -0.3765
  • Quality ( r.ScreenPercentage 67 ) : r.MipMapLODBias = -0.5771
  • Balanced ( r.ScreenPercentage 59 ) : r.MipMapLODBias = -0.7606
  • Performance ( r.ScreenPercentage 50 ) : r.MipMapLODBias = -1.000

@lextra2
Copy link
Author

lextra2 commented Jul 30, 2025

@lextra2
Copy link
Author

lextra2 commented Aug 1, 2025

r.DistanceFieldShadowing=0
r.DistanceFieldAO=0
r.CapsuleShadows=0
r.ContactShadows=0

r.SSR.Quality=0
r.SSS.Scale=0
r.SSGI.Enable=0

r.AmbientOcclusionLevels=0

r.DepthOfFieldQuality=0
r.LensFlareQuality=0
r.MotionBlurQuality=0
r.SceneColorFringeQuality=0
r.Tonemapper.Quality=1
r.Tonemapper.Sharpen=0

@lextra2
Copy link
Author

lextra2 commented Aug 4, 2025

[SystemSettings]
r.LensFlareQuality=0
r.MotionBlurQuality=0
r.SceneColorFringeQuality=0
;;
r.MipMapLODBias=-1
;;
r.TemporalAA.Upsampling=1
r.TemporalAACurrentFrameWeight=0.08
r.TemporalAASamples=4
;;
r.Tonemapper.Quality=1
r.Tonemapper.Sharpen=1.0

r.SSR.Quality=2                                    ;; =2 medium, =3 high
r.SSR.HalfResSceneColor=0
r.SSR.MaxRoughness=0.5                    ;; Use =1.0 for r.SSR.Quality=3

r.SceneColorFormat=3                        ;; =3 FloatRGB 32Bit, faster, =4 FloatRGBA 64Bit
r.VolumetricFog.GridPixelSize=16     ;; =16 good speedup

r.SSS.Scale=1
r.SSS.SampleSet=2
r.SSS.Quality=1
r.SSS.HalfRes=1                                    ;; Should always be =1 at 4K

r.SSGI.Enable=1
r.SSGI.HalfRes=1                                  ;; Should always be =1 at 4K
r.SSGI.LeakFreeReprojection=1
r.SSGI.Quality=4                                  ;; =2 or =3 might be sufficient

foliage.LODDistanceScale=2.0
r.Shadow.SpotLightTransitionScale=4096
r.Shadow.TransitionScale=4096

@lextra2
Copy link
Author

lextra2 commented Aug 7, 2025

r.SupportSkyAtmosphere
r.SupportSkyAtmosphereAffectsHeightFog
r.SupportAtmosphericFog

r.SupportPointLightWholeSceneShadows
net.UseAdaptiveNetUpdateFrequency=0
net.AllowAsyncLoading=1
net.DelayUnmappedRPCs=1

r.DiscardUnusedQuality=1

d3d11.ZeroBufferSizeInMB=16
D3D12.ZeroBufferSizeInMB=16

r.D3D11.UseAllowTearing=1
r.D3D12.UseAllowTearing=1
r.DBuffer=True
r.EarlyZPass=2
r.EarlyZPassMovable=True
r.EarlyZPassOnlyMaterialMasking=False
r.SeparateTranslucency=True

s.AsyncLoadingThreadEnabled=True
r.SceneRenderTargetResizeMethod=2
r.SceneRenderTargetResizeMethodForceOverride=1
r.DynamicRes.OperationMode=2
r.DynamicRes.FrameTimeBudget=8.0

+CVars=r.SceneRenderTargetResizeMethod=2
+CVars=r.SceneRenderTargetResizeMethodForceOverride=1
+CVars=r.DynamicRes.OperationMode=2
+CVars=r.DynamicRes.FrameTimeBudget=8.0

@lextra2
Copy link
Author

lextra2 commented Aug 8, 2025

r.AmbientOcclusionMipLevelFactor=0.4
r.AmbientOcclusionMaxQuality=-100
r.AmbientOcclusionLevels=1
r.AmbientOcclusionRadiusScale=1.0

r.AmbientOcclusion.Compute=0

r.AmbientOcclusion.Method=1            ;; 0=SSAO, 1=GTAO

r.GTAO.Combined=1
r.GTAO.Downsample=1                      ;; Default is =0
r.GTAO.FalloffEnd=200
r.GTAO.FalloffStartRatio=0.5
r.GTAO.FilterWidth=5
r.GTAO.NumAngles=2
r.GTAO.PauseJitter=0
r.GTAO.SpatialFilter=0                          ;; Broken in Unreal Engine 4. Needs to be =0.
r.GTAO.TemporalFilter=1
r.GTAO.ThicknessBlend=0.5
r.GTAO.Upsample=1
r.GTAO.UseNormals=1                        ;; Default is =0

@lextra2
Copy link
Author

lextra2 commented Aug 15, 2025

r.HLOD=1                              ;; 0=Disabled, 1=Enabled
r.HLOD.DistanceOverride=              ;; r.HLOD.DistanceOverride 5000, 10000, 20000 would result in HLOD levels 0, 1 and 2 transitioning at 5000, 10000 and 20000 respectively.
r.HLOD.DistanceOverrideScale=1        ;; Multiplicator for distance. Higher = more draw distance
r.HLOD.DitherPauseTime=1.0            ;; HLOD dither pause time in seconds
r.HLOD.MaximumLevel=-1                ;; -1=No maximum level (default), 0=Prevent ever showing a HLOD cluster, 1=only the first level of HLOD clusters is shown, 2+=Allow up to the X level of HLOD clusters to be shown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment