[DeviceProfiles]
+DeviceProfileNameAndTypes=Windows,Windows
+DeviceProfileNameAndTypes=WindowsNoEditor,WindowsNoEditor
+DeviceProfileNameAndTypes=WindowsServer,WindowsServer
+DeviceProfileNameAndTypes=IOS,IOS
+DeviceProfileNameAndTypes=iPad2,IOS
+DeviceProfileNameAndTypes=iPad3,IOS
+DeviceProfileNameAndTypes=iPad4,IOS
+DeviceProfileNameAndTypes=iPadAir,IOS
+DeviceProfileNameAndTypes=iPadMini,IOS
+DeviceProfileNameAndTypes=iPadMini2,IOS
+DeviceProfileNameAndTypes=iPadMini4,IOS
+DeviceProfileNameAndTypes=iPodTouch5,IOS
+DeviceProfileNameAndTypes=iPodTouch6,IOS
+DeviceProfileNameAndTypes=iPhone4,IOS
+DeviceProfileNameAndTypes=iPhone4S,IOS
+DeviceProfileNameAndTypes=iPhone5,IOS
+DeviceProfileNameAndTypes=iPhone5S,IOS
+DeviceProfileNameAndTypes=iPhone6,IOS
+DeviceProfileNameAndTypes=iPhone6Plus,IOS
+DeviceProfileNameAndTypes=iPhone6S,IOS
+DeviceProfileNameAndTypes=iPhone6SPlus,IOS
+DeviceProfileNameAndTypes=AppleTV,IOS
+DeviceProfileNameAndTypes=PS4,PS4
+DeviceProfileNameAndTypes=XboxOne,XboxOne
+DeviceProfileNameAndTypes=HTML5,HTML5
+DeviceProfileNameAndTypes=Mac,Mac
+DeviceProfileNameAndTypes=MacNoEditor,MacNoEditor
+DeviceProfileNameAndTypes=MacServer,MacServer
+DeviceProfileNameAndTypes=WinRT,WinRT
+DeviceProfileNameAndTypes=Linux,Linux
+DeviceProfileNameAndTypes=LinuxNoEditor,LinuxNoEditor
+DeviceProfileNameAndTypes=LinuxServer,LinuxServer
+DeviceProfileNameAndTypes=Android,Android
+DeviceProfileNameAndTypes=Android_Low,Android
+DeviceProfileNameAndTypes=Android_Mid,Android
+DeviceProfileNameAndTypes=Android_High,Android
+DeviceProfileNameAndTypes=Android_Default,Android
+DeviceProfileNameAndTypes=Android_Adreno320,Android
+DeviceProfileNameAndTypes=Android_Adreno2xx,Android
+DeviceProfileNameAndTypes=Android_Adreno330,Android
+DeviceProfileNameAndTypes=Android_Adreno330_Ver53,Android
+DeviceProfileNameAndTypes=Android_Adreno4xx,Android
+DeviceProfileNameAndTypes=Android_PowerVR54x,Android
+DeviceProfileNameAndTypes=Android_TegraK1_GL4,Android
+DeviceProfileNameAndTypes=Android_TegraK1,Android
+DeviceProfileNameAndTypes=Android_Tegra4,Android
+DeviceProfileNameAndTypes=Android_IntelHD,Android
+DeviceProfileNameAndTypes=Android_IntelHD_ES3,Android
+DeviceProfileNameAndTypes=Android_Mali_4xx,Android
+DeviceProfileNameAndTypes=Android_Mali_T6xx,Android
+DeviceProfileNameAndTypes=Android_Mali_T7xx,Android

[/Script/Engine.TextureLODSettings]
TextureLODGroups=(Group=TEXTUREGROUP_World,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_WorldNormalMap,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_WorldSpecular,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Character,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_CharacterNormalMap,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_CharacterSpecular,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Weapon,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_WeaponNormalMap,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_WeaponSpecular,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Vehicle,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_VehicleNormalMap,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_VehicleSpecular,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Cinematic,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Effects,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_EffectsNotFiltered,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Skybox,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_UI,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Lightmap,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Shadowmap,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,NumStreamedMips=3,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_RenderTarget,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_MobileFlattened,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Terrain_Heightmap,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Terrain_Weightmap,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Bokeh,MinLODSize=1,MaxLODSize=256,LODBias=0,MinMagFilter=linear,MipFilter=linear,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Pixels2D,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=point,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)

[Windows DeviceProfile]
DeviceType=Windows
BaseProfileName=

[WindowsNoEditor DeviceProfile]
DeviceType=WindowsNoEditor
BaseProfileName=Windows

[WindowsServer DeviceProfile]
DeviceType=WindowsServer
BaseProfileName=Windows

[IOS DeviceProfile]
DeviceType=IOS
BaseProfileName=
+CVars=r.BloomQuality=0
+CVars=r.DepthOfFieldQuality=0
+CVars=r.LightShaftQuality=0
+CVars=r.RefractionQuality=0
+CVars=r.ShadowQuality=2
// HZB will be slower with tiled, and not needed
+CVars=r.HZBOcclusion=0
// Non need for depth prepass
+CVars=r.EarlyZPass=0
+CVars=r.EarlyZPassMovable=0
// Needs geometry shader support
+CVars=r.TranslucentLightingVolume=0
// Needs geometry shader support
+CVars=r.AllowPointLightCubemapShadows=0
// Temporal AA (?) looks blurry right now
+CVars=r.PostProcessAAQuality=0
// Not sure on this one - may need the whole D Buffer stuff going
+CVars=r.Decal.StencilSizeThreshold=-1

[iPad2 DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.RenderTargetSwitchWorkaround=1

[iPad3 DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.RenderTargetSwitchWorkaround=1

[iPad4 DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.RenderTargetSwitchWorkaround=1

[iPadAir DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.BloomQuality=1

[iPadAir2 DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.BloomQuality=1
+CVars=r.DepthOfFieldQuality=1
+CVars=r.LightShaftQuality=1
+CVars=r.RefractionQuality=1

[iPadMini DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.RenderTargetSwitchWorkaround=1

[iPadMini2 DeviceProfile]
DeviceType=IOS
BaseProfileName=iPadAir

[iPadMini4 DeviceProfile]
DeviceType=IOS
BaseProfileName=iPadMini2

[iPhone4 DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.RenderTargetSwitchWorkaround=1

[iPhone4S DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.RenderTargetSwitchWorkaround=1

[iPhone5 DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.RenderTargetSwitchWorkaround=1

[iPhone5S DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.BloomQuality=1
+CVars=r.DepthOfFieldQuality=1
+CVars=r.LightShaftQuality=1
+CVars=r.RefractionQuality=1

[iPodTouch5 DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.RenderTargetSwitchWorkaround=1

[iPodTouch6 DeviceProfile]
DeviceType=IOS
BaseProfileName=iPhone6

[iPhone6 DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.BloomQuality=1
+CVars=r.DepthOfFieldQuality=1
+CVars=r.LightShaftQuality=1
+CVars=r.RefractionQuality=1

[iPhone6Plus DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.BloomQuality=1
+CVars=r.DepthOfFieldQuality=1
+CVars=r.LightShaftQuality=1
+CVars=r.RefractionQuality=1

[iPhone6S DeviceProfile]
DeviceType=IOS
BaseProfileName=iPhone6
+CVars=r.BloomQuality=1
+CVars=r.DepthOfFieldQuality=1
+CVars=r.LightShaftQuality=1
+CVars=r.RefractionQuality=1

[iPhone6SPlus DeviceProfile]
DeviceType=IOS
BaseProfileName=iPhone6Plus
+CVars=r.BloomQuality=1
+CVars=r.DepthOfFieldQuality=1
+CVars=r.LightShaftQuality=1
+CVars=r.RefractionQuality=1


[AppleTV DeviceProfile]
DeviceType=IOS
BaseProfileName=IOS
+CVars=r.BloomQuality=1
+CVars=r.DepthOfFieldQuality=1
+CVars=r.LightShaftQuality=1

[/Script/AndroidDeviceProfileSelector.AndroidDeviceProfileMatchingRules]
MatchProfile=(Profile="Android_PowerVR54x",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="PowerVR SGX 54[0-9]")))
+MatchProfile=(Profile="Android_Adreno2xx",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="Adreno \\(TM\\) 2[0-9][0-9]")))
+MatchProfile=(Profile="Android_Adreno320",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="Adreno (TM) 320")))
+MatchProfile=(Profile="Android_Adreno330_Ver53",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="Adreno (TM) 330"),(SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="ES 3\\.0 V@([0-9]+)"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="53")))
+MatchProfile=(Profile="Android_Adreno330",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="Adreno (TM) 330")))
+MatchProfile=(Profile="Android_Adreno4xx",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="Adreno \\(TM\\) 4[0-9][0-9]")))
+MatchProfile=(Profile="Android_Adreno5xx",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="Adreno \\(TM\\) 5[0-9][0-9]")))
+MatchProfile=(Profile="Android_TegraK1_GL4",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="NVIDIA Tegra"),(SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="^4\\.")))
+MatchProfile=(Profile="Android_TegraK1",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="NVIDIA Tegra"),(SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="^OpenGL ES 3\\.")))
+MatchProfile=(Profile="Android_Tegra4",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="NVIDIA Tegra"),(SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="^OpenGL ES 2\\.")))
+MatchProfile=(Profile="Android_IntelHD_ES3",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="Intel(R) HD Graphics"),(SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="^OpenGL ES 3\\.")))
+MatchProfile=(Profile="Android_IntelHD",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="Intel(R) HD Graphics"),(SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="^OpenGL ES 2\\.")))
+MatchProfile=(Profile="Android_Mali_4xx",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="^Mali\\-4")))
+MatchProfile=(Profile="Android_Mali_T6xx",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="^Mali\\-T6")))
+MatchProfile=(Profile="Android_Mali_T7xx",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="^Mali\\-T7")))
+MatchProfile=(Profile="Android_Mid",Match=((SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="^OpenGL ES 3\\.")))
+MatchProfile=(Profile="Android_Low",Match=((SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="^OpenGL ES 2\\.")))

[/Script/AndroidDeviceProfileSelector.AndroidJavaSurfaceViewDevices]
SurfaceViewDevices=(Manufacturer="Amazon",Model="Kindle Fire")	; Kindle Fire (2011)
+SurfaceViewDevices=(Manufacturer="Amazon",Model="KFOT")		; Kindle Fire (2012)
+SurfaceViewDevices=(Manufacturer="Amazon",Model="KFTT")		; Kindle Fire HD 7" 2012 (WiFi)
+SurfaceViewDevices=(Manufacturer="Amazon",Model="KFJWA")		; Kindle Fire HD 8.9" 2012 (WAN)
+SurfaceViewDevices=(Manufacturer="Amazon",Model="KFJWI")		; Kindle Fire HD 8.9" 2012 (WiFi)
+SurfaceViewDevices=(Manufacturer="HTC",Model="HTC6435LVW")		; HTC One M7

[Android DeviceProfile]
DeviceType=Android
BaseProfileName=
+CVars=r.MobileContentScaleFactor=1
+CVars=r.BloomQuality=0
+CVars=r.DepthOfFieldQuality=0
+CVars=r.LightShaftQuality=0
+CVars=r.RefractionQuality=0
+CVars=r.ShadowQuality=2

[Android_Low DeviceProfile]
DeviceType=Android
BaseProfileName=Android
+CVars=r.MobileContentScaleFactor=0.5
+CVars=r.ShadowQuality=1
+CVars=sg.EffectsQuality=0

[Android_Mid DeviceProfile]
DeviceType=Android
BaseProfileName=Android
+CVars=r.BloomQuality=1
+CVars=r.MobileContentScaleFactor=0.8

[Android_High DeviceProfile]
DeviceType=Android
BaseProfileName=Android
+CVars=r.BloomQuality=1
+CVars=r.DepthOfFieldQuality=1
+CVars=r.LightShaftQuality=1
+CVars=r.RefractionQuality=1
+CVars=r.MobileContentScaleFactor=1.0

[Android_Default DeviceProfile]
DeviceType=Android
BaseProfileName=Android_Mid

[Android_Adreno320 DeviceProfile]
DeviceType=Android
BaseProfileName=Android_Mid

;This offset needs to be set for the mosaic fallback to work on Galaxy S4 (SAMSUNG-IGH-I337)
;+CVars=r.DemosaicVposOffset=0.5

[Android_Adreno2xx DeviceProfile]
DeviceType=Android
BaseProfileName=Android_Low

[Android_Adreno330 DeviceProfile]
DeviceType=Android
BaseProfileName=Android_High

[Android_Adreno330_Ver53 DeviceProfile]
DeviceType=Android
BaseProfileName=Android_Adreno330
+CVars=r.DisjointTimerQueries=1

[Android_Adreno5xx DeviceProfile]
DeviceType=Android
BaseProfileName=Android_High

[Android_Adreno4xx DeviceProfile]
DeviceType=Android
BaseProfileName=Android_High

[Android_PowerVR54x DeviceProfile]
DeviceType=Android
BaseProfileName=Android_Mid

[Android_IntelHD DeviceProfile]
DeviceType=Android
BaseProfileName=Android_Low

[Android_IntelHD_ES3 DeviceProfile]
DeviceType=Android
BaseProfileName=Android
+CVars=r.BloomQuality=1

[Android_Mali_4xx DeviceProfile]
DeviceType=Android
BaseProfileName=Android_Low

[Android_Mali_T6xx DeviceProfile]
DeviceType=Android
BaseProfileName=Android_Mid

[Android_Mali_T7xx DeviceProfile]
DeviceType=Android
BaseProfileName=Android_High

[Android_TegraK1_GL4 DeviceProfile]
DeviceType=Android
BaseProfileName=Android_High

[Android_TegraK1 DeviceProfile]
DeviceType=Android
BaseProfileName=Android_High

[Android_Tegra4 DeviceProfile]
DeviceType=Android
BaseProfileName=Android_Mid

[PS4 DeviceProfile]
DeviceType=PS4
BaseProfileName=

[XboxOne DeviceProfile]
DeviceType=XboxOne
BaseProfileName=
; we output 10:10:10, not 8:8:8 so we don't need color quantization
+CVars=r.Tonemapper.GrainQuantization=0
; For SSAO we rely on TemporalAA (with a randomized sample pattern over time) so we can use less samples
+CVars=r.AmbientOcclusionSampleSetQuality=0
; less passes, and no upsampling as even upsampling costs some performance
+CVars=r.AmbientOcclusionLevels=1
; larger radius to compensate for fewer passes
+CVars=r.AmbientOcclusionRadiusScale=2


[HTML5 DeviceProfile]
DeviceType=HTML5
BaseProfileName=
+CVars=r.RefractionQuality=0

[Mac DeviceProfile]
DeviceType=Mac
BaseProfileName=
+CVars=r.AOScatterTileCulling=0

[MacNoEditor DeviceProfile]
DeviceType=MacNoEditor
BaseProfileName=Mac

[MacServer DeviceProfile]
DeviceType=MacServer
BaseProfileName=Mac

[WinRT DeviceProfile]
DeviceType=WinRT
BaseProfileName=

[Linux DeviceProfile]
DeviceType=Linux
BaseProfileName=
MeshLODSettings=
TextureLODSettings=

[LinuxNoEditor DeviceProfile]
DeviceType=LinuxNoEditor
BaseProfileName=Linux
MeshLODSettings=
TextureLODSettings=

[LinuxServer DeviceProfile]
DeviceType=LinuxServer
BaseProfileName=Linux
MeshLODSettings=
TextureLODSettings=
