;
; Base scalability settings
; =========================
;
; The definitions here affect the console variables starting with "sg." and define the user quality levels (game/editor video settings)
; To override a specific platform use DeviceProfile.ini (whach out for the different syntax).
;
;-----------------------------------------------------------------------------------------------------------------

; Note: [ResolutionQuality] isn't using the usual 0/1/2/3 quality levels, the value directly maps to r.ScreenPercentage.
; This is because we want custom scaling aligned with the screen/window resolution with more fine grained control
;
;-----------------------------------------------------------------------------------------------------------------
;
; Note: "r.MSAA.CompositingSampleCount" goes upto 8 however we're limiting it to 4 in a scale of 1/1/2/4
; Meaning that it is off for the first two detail levels.

;-----------------------------------------------------------------------------------------------------------------

[AntiAliasingQuality@0]
r.PostProcessAAQuality=0
r.MSAA.CompositingSampleCount=1

[AntiAliasingQuality@1]
r.PostProcessAAQuality=2
r.MSAA.CompositingSampleCount=1

[AntiAliasingQuality@2]
r.PostProcessAAQuality=3
r.MSAA.CompositingSampleCount=2

[AntiAliasingQuality@3]
r.PostProcessAAQuality=4
r.MSAA.CompositingSampleCount=4

;-----------------------------------------------------------------------------------------------------------------

[ViewDistanceQuality@0]
r.SkeletalMeshLODBias=2
r.ViewDistanceScale=0.4

[ViewDistanceQuality@1]
r.SkeletalMeshLODBias=1
r.ViewDistanceScale=0.6

[ViewDistanceQuality@2]
r.SkeletalMeshLODBias=0
r.ViewDistanceScale=0.8

[ViewDistanceQuality@3]
r.SkeletalMeshLODBias=0
r.ViewDistanceScale=1.0

;-----------------------------------------------------------------------------------------------------------------

[ShadowQuality@0]
r.LightFunctionQuality=0
r.ShadowQuality=0
r.Shadow.CSM.MaxCascades=1
r.Shadow.MaxResolution=512
r.Shadow.RadiusThreshold=0.06
r.Shadow.DistanceScale=0.6
r.Shadow.CSM.TransitionScale=0
r.DistanceFieldShadowing=0
r.DistanceFieldAO=0

[ShadowQuality@1]
r.LightFunctionQuality=1
r.ShadowQuality=2
r.Shadow.CSM.MaxCascades=1
r.Shadow.MaxResolution=1024
r.Shadow.RadiusThreshold=0.05
r.Shadow.DistanceScale=0.7
r.Shadow.CSM.TransitionScale=0.25
r.DistanceFieldShadowing=0
r.DistanceFieldAO=0

[ShadowQuality@2]
r.LightFunctionQuality=1
r.ShadowQuality=5
r.Shadow.CSM.MaxCascades=2
r.Shadow.MaxResolution=1024
r.Shadow.RadiusThreshold=0.04
r.Shadow.DistanceScale=0.85
r.Shadow.CSM.TransitionScale=0.8
r.DistanceFieldShadowing=0
r.DistanceFieldAO=0

[ShadowQuality@3]
r.LightFunctionQuality=1
r.ShadowQuality=5
r.Shadow.CSM.MaxCascades=4
r.Shadow.MaxResolution=2048
r.Shadow.RadiusThreshold=0.03
r.Shadow.DistanceScale=1.0
r.Shadow.CSM.TransitionScale=1.0
r.DistanceFieldShadowing=1
r.DistanceFieldAO=1

;-----------------------------------------------------------------------------------------------------------------

[PostProcessQuality@0]
r.MotionBlurQuality=0
r.AmbientOcclusionLevels=0
r.AmbientOcclusionRadiusScale=1.7
r.DepthOfFieldQuality=0
r.RenderTargetPoolMin=300
r.LensFlareQuality=0
r.SceneColorFringeQuality=0
r.EyeAdaptationQuality=0
r.BloomQuality=4
r.FastBlurThreshold=0
r.Upscale.Quality=1
r.TonemapperQuality=0
r.LightShaftQuality=0

[PostProcessQuality@1]
r.MotionBlurQuality=3
r.AmbientOcclusionLevels=1
r.AmbientOcclusionRadiusScale=1.7
r.DepthOfFieldQuality=1
r.RenderTargetPoolMin=350
r.LensFlareQuality=0
r.SceneColorFringeQuality=0
r.EyeAdaptationQuality=0
r.BloomQuality=4
r.FastBlurThreshold=2
r.Upscale.Quality=2
r.TonemapperQuality=0
r.LightShaftQuality=0

[PostProcessQuality@2]
r.MotionBlurQuality=3
r.AmbientOcclusionLevels=2
r.AmbientOcclusionRadiusScale=1.5
r.DepthOfFieldQuality=2
r.RenderTargetPoolMin=400
r.LensFlareQuality=2
r.SceneColorFringeQuality=1
r.EyeAdaptationQuality=2
r.BloomQuality=5
r.FastBlurThreshold=3
r.Upscale.Quality=2
r.TonemapperQuality=1
r.LightShaftQuality=1

[PostProcessQuality@3]
r.MotionBlurQuality=4
r.AmbientOcclusionLevels=3
r.AmbientOcclusionRadiusScale=1.0
r.DepthOfFieldQuality=2
r.RenderTargetPoolMin=400
r.LensFlareQuality=2
r.SceneColorFringeQuality=1
r.EyeAdaptationQuality=2
r.BloomQuality=5
r.FastBlurThreshold=7
r.Upscale.Quality=3
r.TonemapperQuality=1
r.LightShaftQuality=1

;-----------------------------------------------------------------------------------------------------------------

[TextureQuality@0]
r.Streaming.MipBias=2.5
r.MaxAnisotropy=0
r.Streaming.PoolSize=200

[TextureQuality@1]
r.Streaming.MipBias=1
r.MaxAnisotropy=2
r.Streaming.PoolSize=400

[TextureQuality@2]
r.Streaming.MipBias=0
r.MaxAnisotropy=4
r.Streaming.PoolSize=700

[TextureQuality@3]
r.Streaming.MipBias=0
r.MaxAnisotropy=8
r.Streaming.PoolSize=1000

;-----------------------------------------------------------------------------------------------------------------

[EffectsQuality@0]
r.TranslucencyLightingVolumeDim=24
r.RefractionQuality=0
r.SSR.Quality=0
r.SceneColorFormat=3
r.DetailMode=0
r.TranslucencyVolumeBlur=0
r.MaterialQualityLevel=0
r.SSS.Scale = 0
r.SSS.SampleSet=0
r.EmitterSpawnRateScale=1.0

[EffectsQuality@1]
r.TranslucencyLightingVolumeDim=32
r.RefractionQuality=0
r.SSR.Quality=0
r.SceneColorFormat=3
r.DetailMode=1
r.TranslucencyVolumeBlur=0
r.MaterialQualityLevel=1
r.SSS.Scale = 0.75
r.SSS.SampleSet=0
r.EmitterSpawnRateScale=1.0

[EffectsQuality@2]
r.TranslucencyLightingVolumeDim=48
r.RefractionQuality=2
r.SSR.Quality=2
r.SceneColorFormat=3
r.DetailMode=1
r.TranslucencyVolumeBlur=1
r.MaterialQualityLevel=1
r.SSS.Scale = 1
r.SSS.SampleSet=1
r.EmitterSpawnRateScale=1.0

[EffectsQuality@3]
r.TranslucencyLightingVolumeDim=64
r.RefractionQuality=2
r.SSR.Quality=3
r.SceneColorFormat=4
r.DetailMode=2
r.TranslucencyVolumeBlur=1
r.MaterialQualityLevel=1
r.SSS.Scale = 1
r.SSS.SampleSet=2
r.EmitterSpawnRateScale=1.0