Specs: I'm using a RTX 4070 12GB, i7 8700K, 48GB ram+10GB page file, win10. Get around 75-150 fps (With version 0.21 @1080p epic game settings and TSR AA with DLSS Auto). (Depends on what/where you look at, sky is 150 fps, most of the time it's 85-120fps)(Baseline menu is 240 fps)
Change these if you want performance back, but mind that visually most noticeable, especially Global Illumination, everything Lumen related.
Spoiler:
Show
r.DynamicGlobalIlluminationMethod=1 ; (20-30 fps cost)(1=Lumen)(0 - None. Global Illumination can be baked into Lightmaps, but no technique will be used for Dynamic Global Illumination) r.VolumetricFog=1 ; (10 fps cost, works only when Fog is also enabled)(0 Low/Medium 1 High/Epic/Cinematic ShadowQuality)(Whether to allow the volumetric fog feature) r.ViewDistanceScale=5 ; (10-20 fps cost going from 1 to 5)(0.4 Low 0.6 Medium 0.8 High 1 Epic 10 Cinematic ViewDistanceQuality)(Controls the view distance scale. A primitive's MaxDrawDistance is scaled by this value) r.StaticMeshLODDistanceScale=0.1 ; (5fps cost going from 1 to 0.1)(0.1-1+: 0 breaks, higher number lowers the distance of higher quality lod)(Scale factor for the distance used in computing discrete LOD for static meshes. (defaults to 1)) r.ViewTextureMipBias.Min=0 ; (-2 constructor)(5 fps cost going from 0 to -2)(same as mipmap, weirdly vanilla uses the more costly variant, microscopic texture sharpness gain going below 0)(Automatic view mip bias's minimum value (default to -2)) r.ViewTextureMipBias.Offset=0 ; (-0.3 constructor)(when Min value is in negative, this one becomes performance costly)(Automatic view mip bias's constant offset (default to -0.3)
Mention if the dx12 feels worse consistently every time. Will either revert back to dx11 or just make dx12 optional. Can't use any raytracing function anyway at the moment.
For those who use virtual shadows. When virtual shadow maps are not forced on, you can adjust the shadow cascades and distance. Performance somewhat drops with virtual shadows and dx12, but mostly only when using the equipment menu, when your character or pals are in view in the menu, probably something breaks it, haven't found yet a setting that could fix that weird performance drop.
Spoiler:
Show
r.Shadow.CSM.MaxCascades=10 r.Shadow.DistanceScale=2 r.Shadow.Virtual.Enable=1 ; (0 constructor)(0 or 1, works with dx12 only, causes low fps temporarily while inventory/menu characters are visible)(Enable Virtual Shadow Maps) r.Shadow.Virtual.UseFarShadowCulling=0 ; (1 constructor)(0 more distant shadows)(Disabled when forcing only virtual shadow maps)(Switch between implementing the far shadow culling logic for VSMs) r.Shadow.Virtual.ForceOnlyVirtualShadowMaps=1 ; (0 constructor)(1=all accurate shadows)(When far shadow culling is 0, then only close to mid range shadows change)(If enabled, disallow creation of conventional non-virtual shadow maps for any lights that get a virtual shadow map) r.Shadow.Virtual.ScreenRayLength=0 ; (0.015 constructor)(Length of the screen space trace (smart shadow bias) before the virtual shadow map lookup)
[SystemSettings] r.ReflectionCapture.EnableLightFunctions=1 ; (0 constructor)(0. Disable light functions in reflection/sky light capture (default)) r.PathTracing=1 ; (1 constructor)(read only) r.RayTracing=0 ; (0 constructor)(read only)(will cause a crash, because of a missing shader file not being cooked into the game) r.AllowGlobalClipPlane=1 ; (0 constructor)(read only)(Enables mesh shaders to support a global clip plane, needed for palanar reflections, which adds about 15% BasePass GPU cost on PS4) r.Water.SingleLayer.DepthPrepass=1 ; (0 constructor)(read only) r.Water.SingleLayerWater.SupportCloudShadow=1 ; (0 constructor)(read only)(Enables cloud shadows on SingleLayerWater materials) r.ViewDistanceScale=5 ; (1 scalability)(10-20 fps cost going from 1 to 5)(0.4 Low 0.6 Medium 0.8 High 1 Epic 10 Cinematic ViewDistanceQuality)(Controls the view distance scale. A primitive's MaxDrawDistance is scaled by this value) r.SkeletalMeshLODBias=-1 ; (0 scalability)(2 Low 1 Medium 0 High to Cinematic ViewDistanceQuality)(LOD bias for skeletal meshes (does not affect animation editor viewports)) r.StaticMeshLODDistanceScale=0.1 ; (1 constructor)(5fps cost going from 1 to 0.1)(0.1-1+: 0 breaks, higher number lowers the distance of higher quality lod)(Scale factor for the distance used in computing discrete LOD for static meshes. (defaults to 1)) r.MipMapLODBias=0 ; (0 constructor)(Can be very demanding the lower you go, -1 and 1 difference around 15-20 fps)(Apply additional mip map bias for all 2d textures, range of -15.0 to 15.0) r.ViewTextureMipBias.Min=0 ; (-2 constructor)(5-10 fps cost going from 0 to -2)(same as mipmap, weirdly vanilla uses the more costly variant, microscopic texture sharpness gain going below 0)(Automatic view mip bias's minimum value (default to -2)) r.ViewTextureMipBias.Offset=0 ; (-0.3 constructor)(when Min value is in negative, this one becomes performance costly)(Automatic view mip bias's constant offset (default to -0.3) r.Color.Max=1.0 ; (1 constructor)(Allows to define where the value 1.0 in the color channels is mapped to after color grading) r.Color.Mid=0.5 ; (0.5 constructor)(Allows to define where the value 0.5 in the color channels is mapped to after color grading (This is similar to a gamma correction) r.Color.Min=0 ; (0 constructor)(Allows to define where the value 0 in the color channels is mapped to after color grading) r.CreateShadersOnLoad=1 ; (0 constructor)(Whether to create shaders on load, which can reduce hitching, but use more memory. Otherwise they will be created as needed) r.ForceHighestMipOnUITextures=1 ; (0 constructor)(If set to 1, textures in the UI Group will have their highest mip level forced) r.GBufferFormat=4 ; (1 constructor)(Defines the memory layout used for the GBuffer) r.HZBOcclusion=1 ; (1 projectsetting)(Defines which occlusion system is used) r.LandscapeLOD0DistributionScale=4 ; (1 constructor)(Multiplier for the landscape LOD0DistributionSetting property) r.LandscapeLODDistributionScale=4 ; (1 constructor)(Multiplier for the landscape LODDistributionSetting property) r.DetailMode=2 ; (2 scalability)(0 Low 1 Medium/High 2 Epic/Cinematic EffectsQuality)(Current detail mode; determines whether components of actors should be updated/ticked) r.Emitter.FastPoolEnable=1 ; (0 constructor)(Should we use fast pools for emitters.) r.EmitterSpawnRateScale=1 ; (1 scalability)(0.125 Low 0.25 Medium 0.5 High 1 Epic/Cinematic EffectsQuality)(A global scale upon the spawn rate of emitters. Emitters can choose to apply or ignore it via their bApplyGlobalSpawnRateScale property) r.MaterialQualityLevel=3 ; (1 scalability)(0 Low 1 Medium to Cinematic 3 Max EffectsQuality)(1 and 3 only work properly)(0 corresponds to low quality materials, as defined by quality switches in materials, 1 corresponds to high, 2 for medium, and 3 for epic) r.ParticleLightQuality=2 ; (2 scalability)(0 Low/Medium 1 High 2 Epic/Cinematic EffectsQuality)(0: No lights. 1: Only simple lights. 2: Simple + HQ lights) r.RefractionQuality=3 ; (2 scalability)(0 Low/Medium 2 High/Epic 3 Cinematic EffectsQuality)(Defines the distortion/refraction quality which allows to adjust for quality or performance) r.SceneColorFormat=4 ; (4 scalability)(3 Low to High 4 Epic/Cinematic EffectsQuality)(Defines the memory layout (RGBA) used for the scene color) r.SSR.MaxRoughness=1 ; (-1 constructor)(Allows to override the post process setting ScreenSpaceReflectionMaxRoughness) r.SSR.Quality=4 ; (3 scalability)(0 Low to High 1 Epic 4 Cinematic EffectsQuality)(works only when DGIM is 0/2 and ReflectionMethod 1/2 or DGIM 1 and RM 2, same with other SSR settings)(Whether to use screen space reflections and at what quality setting) r.SSR.Temporal=1 ; (0 constructor(Defines if we use the temporal smoothing for the screen space reflection) r.SSS.HalfRes=0 ; (0 scalability)(1 Low to Epic 0 Cinematic EffectsQuality)(0: full quality (Combined Burley and Separable pass. Separable is not optimized, as reference)) r.SSS.Quality=1 ; (1 scalability)(0 Low/Medium 1 High to Cinematic EffectsQuality)(Defines the quality of the recombine pass when using the SubsurfaceScatteringProfile shading model) r.SSS.SampleSet=2 ; (2 scalability)(0 Low/Medium 1 High 2 Epic/Cinematic EffectsQuality)(Defines how many samples we use for Separable Screenspace Subsurface Scattering feature) r.SSS.Scale=1 ; (1 scalability)(0 Low 0.75 Medium 1 High to Cinematic EffectsQuality)(Affects the Screen space Separable subsurface scattering pass (use shadingmodel SubsurfaceProfile, get near to the object as the default) r.TranslucencyLightingVolumeDim=64 ; (64 scalability)(24 Low 32 Medium 48 High 64 Epic/Cinematic EffectsQuality)(too high = gpu ran out memory and crash)(Dimensions of the volume textures used for translucency lighting. Larger textures result in higher resolution but lower performance) r.TranslucencyVolumeBlur=0 ; (1 scalability)(0 Low/Medium 1 High to Cinematic EffectsQuality)(Whether to blur the translucent lighting volumes) foliage.DitheredLOD=1 ; (1 constructor)(If greater than zero, dithered LOD is used, otherwise popping LOD is used) foliage.LODDistanceScale=1 ; (1 constructor)(different foliage have different ranges where the 3d object lighting/shadows break, jungle trees break with higher than 0.5 distance)(0-10, can be demanding above 10)(Scale factor for the distance used in computing LOD for foliage) foliage.OverestimateLOD=0 ; (0 constructor)(some foliage with low loddistance will render low quality foliage close by, palm trees break with lower than 3 distance)(0 or 1)(If greater than zero and dithered LOD is not used, then we use an overestimate of LOD instead of an underestimate) grass.densityScale=1 ; (1 scalability)(0 Low 0.4 Medium 0.8 High 1 Epic/Cinematic Unknown Max FoliageQuality)(Can be very demanding)(Multiplier on all grass densities) r.PostProcessingColorFormat=1 ; (0 constructor)(Defines the memory layout (RGBA) used for most of the post processing chain buffers) r.AmbientOcclusionLevels=2 ; (-1 scalability)(0 Low 1 Medium 2 High 3 Epic PostProcessQuality)(Defines how many mip level are using during ambient occlusion calculation. This is useful when tweaking the algorithm) r.AmbientOcclusionMaxQuality=100 ; (100 scalability)(0 Low 60 Medium/High 100 Cinematic PostProcessQuality)(Defines the max clamping value from the post process volume's quality level for ScreenSpace Ambient Occlusion) r.AmbientOcclusionMipLevelFactor=0.4 ; (0.4 scalability)(1 Low/Medium 0.6 High 0.4 Epic/Cinematic PostProcessQuality)(Controls mipmap level according to the SSAO step id) r.AmbientOcclusionRadiusScale=1 ; (1 scalability)(1.7 Low/Medium 1.5 High 1 Epic/Cinematic PostProcessQuality)(Allows to scale the ambient occlusion radius (SSAO)) r.AmbientOcclusionStaticFraction=1 ; (-1 constructor)(Allows to override the Ambient Occlusion Static Faction (see post process volume). Factions are between 0 and 1) r.BloomQuality=5 ; (5 scalability)(4 Low/Medium 5 High to Cinematic PostProcessQuality)(0:off, no performance impact) r.DefaultFeature.AmbientOcclusion=1 ; (1 scalability)(Engine default (project setting) for AmbientOcclusion is (postprocess volume/camera/game setting still can override) r.DefaultFeature.AutoExposure=1 ; (1 constructor)(Engine default (project setting) for AutoExposure is (postprocess volume/camera/game setting still can override) r.DefaultFeature.LensFlare=1 ; (0 constructor)(Engine default (project setting) for LensFlare is (postprocess volume/camera/game setting still can override) r.DefaultFeature.MotionBlur=0 ; (0 code)(Engine default (project settings) for MotionBlur is (postprocess volume/camera/game setting still can override) r.DepthOfFieldQuality=4 ; (2 scalability)(0 Low 1 Medium 2 High/Epic 4 Cinematic PostProcessQuality)(Allows to adjust the depth of field quality. Currently only fully affects BokehDOF. GaussianDOF is either 0 for off, otherwise on) r.EyeAdaptationQuality=2 ; (2 scalability)(0 Low/Medium 2 High to Cinematic PostProcessQuality)(At 0 it's darker when you look darker areas and brighter areas are brighter, at 1 or higher it will balance it out automatically)(Defines the eye adaption quality which allows to adjust for quality or performance) r.FastBlurThreshold=100 ; (100 scalability)(0 Low 2 Medium 3 High 7 Epic 100 Cinematic PostProcessQuality)(Defines at what radius the Gaussian blur optimization kicks in (estimated 25% - 40% faster)) r.Filter.SizeScale=2 ; (1 scalability)(0.6 Low 0.7 Medium 0.8 High 1 Epic/Cinematic PostProcessQuality)(Allows to scale down or up the sample count used for bloom and Gaussian depth of field (scale is clamped to give reasonable results)) r.LensFlareQuality=3 ; (2 scalability)(0 Low/Medium 2 High/Epic 3 Cinematic PostProcessQuality)(0: off but best for performance) r.LightShaftQuality=1 ; (1 scalability)(0 Low/Medium 1 High to Cinematic PostProcessQuality)(Defines the light shaft quality (mobile and non mobile)) r.MotionBlurQuality=0 ; (4 scalability)(0 Low 3 Medium/High 4 Epic/Cinematic PostProcessQuality)(Defines the motion blur method which allows to adjust for quality or performance) r.RenderTargetPoolMin=1000 ; (400 scalability)(300 Low 350 Medium 400 High/Epic 1000 Cinematic PostProcessQuality)(If the render target pool size (in MB) is below this number, there is no deallocation of render targets. Default is 200 MB) r.SceneColorFringe.Max=0 ; (-1 constructor)(-2 on, -1 clamp - Allows to clamp the postprocess setting (in percent, Scene chromatic aberration / color fringe to simulate an artifact that happens in real-world lens, mostly visible in the image corners)) r.SceneColorFringeQuality=0 ; (1 scalability)(0 Low/Medium 1 High to Cinematic PostProcessQuality)(0: off but best for performance) r.Tonemapper.GrainQuantization=1 ; (1 scalability)(0 Low/Medium 1 High to Cinematic PostProcessQuality)(0: low (minor performance benefit)) r.Tonemapper.Quality=5 ; (5 scalability)(0 Low 2 Medium 5 High to Cinematic PostProcessQuality)(Defines the Tonemapper Quality in the range 0..5) r.Tonemapper.Sharpen=1 ; (0 constructor)(0 soft look, higher uses sharpening)(Sharpening in the tonemapper (not for mobile), actual implementations is work in progress, clamped at 10) r.Upscale.Quality=3 ; (3 scalability)(1 Low 2 Medium/High 3 Epic/Cinematic PostProcessQuality)(Defines the quality in which ScreenPercentage and WindowedFullscreen scales the 3d rendering) r.CapsuleShadows=1 ; (1 scalability)(0 Low 1 Medium to Cinematic ShadowQuality)(Whether to allow capsule shadowing on skinned components with bCastCapsuleDirectShadow or bCastCapsuleIndiretShadow enabled) r.ContactShadows.NonShadowCastingIntensity=1 ; (0 constructor)(Intensity of contact shadows from objects with cast contact shadows disabled. Usually 0(off)) r.DFDistanceScale=10 ; (1 constructor)(Can be very demanding going over 10)(Factor to scale directional light property 'DistanceField Shadows Distance', clamped to [0.0001, 10000]) r.DFFullResolution=1 ; (0 constructor)(1 = full resolution distance field shadowing, 0 = half resolution with bilateral upsample) r.DistanceFieldAO=1 ; (1 scalability)(0 Low/Medium 1 High to Cinematic ShadowQuality)(Whether the distance field AO feature is allowed, which is used to implement shadows of Movable sky light from static meshes) r.DistanceFieldShadowing=1 ; (1 scalability)(0 Low/Medium 1 High to Cinematic ShadowQuality)(Whether the distance field shadowing feature is allowed) r.LightFunctionQuality=1 ; (1 scalability)(0 Low 1 Medium to Cinematic ShadowQuality)(Defines the light function quality which allows to adjust for quality or performance) r.LightMaxDrawDistanceScale=1 ; (1 scalability)(0 Low 0.5 Medium 1 High to Cinematic ShadowQuality)(Scale applied to the MaxDrawDistance of light. Useful for fading out local lights more aggressively on some platforms.) r.Shadow.CSM.MaxCascades=10 ; (3 scalability)(1 Low/Medium 2 High 4 Epic 10 Cinematic ShadowQuality)(Dynamic shadows, like in vanilla, causes light to bleed through certain textures)(The maximum number of cascades with which to render dynamic directional light shadows) r.Shadow.CSM.TransitionScale=2 ; (1 scalability)(0 Low 0.25 Medium 0.8 High 1 Epic/Cinematic 2 Max ShadowQuality)(Allows to scale the cascaded shadow map transition region. Clamped within 0..2) r.Shadow.CSMShadowDistanceFadeoutMultiplier=0 ; (1 constructor)(Multiplier for the CSM distance fade) r.Shadow.DistanceScale=2 ; (1 scalability)(Scalability option to trade shadow distance versus performance for directional lights (clamped within a reasonable range) r.Shadow.FilterMethod=2 ; (0 constructor)(2 is more accurate when being close to objects)(Chooses the shadow filtering method) r.Shadow.PreShadowResolutionFactor=1 ; (1 scalability)(0.5 Low to High 1 Epic/Cinematic ShadowQuality)(Multiplier for preshadow resolution) r.Shadow.MaxCSMResolution=4096 ; (2048 scalability)(512 Low 1024 Medium 2048 High/Epic 4096 Cinematic ShadowQuality)(Can be increased when using r.Shadow.DistanceScale 2, or with 1 can be lower)((Max square dimensions (in texels) allowed for rendering Cascaded Shadow depths. Range 4 to hardware limit. Higher = better quality shadows, but at a performance cost) r.Shadow.MaxResolution=4096 ; (2048 scalability)(512 Low 1024 Medium to Epic 4096 Cinematic ShadowQuality)(Max square dimensions (in texels) allowed for rendering shadow depths. Range 4 to hardware limit. Higher = better quality shadows, but at a performance cost) r.Shadow.RadiusThreshold=0 ; (0.01 scalability)(0.06 Low 0.05 Medium 0.04 High 0.01 Epic 0 Cinematic ShadowQuality)(higher than 0 and you cut away certain shadows)(Cull shadow casters if they are too small, value is the minimal screen space bounding spherer radius) r.Shadow.Virtual.Enable=0 ; (0 constructor)(0 or 1, works with dx12 only, causes low fps temporarily while inventory/menu characters are visible)(Enable Virtual Shadow Maps) r.ShadowQuality=5 ; (5 scalability)(0 Low 2 Medium 5 High to Cinematic)(Defines the shadow method which allows to adjust for quality or performance) r.VolumetricRenderTarget=2 ; (1 constructor)(0/1/3 inaccurate, 2 accurate)(Visit a dungeon to see VolumetricClouds in the sky until closing the game) r.Fog=0 ; (1 constructor)(For Volumetric fog to work enable it)(0: disabled) r.VolumetricFog=1 ; (1 scalability)(10 fps cost, works only when Fog is also enabled)(0 Low/Medium 1 High/Epic/Cinematic ShadowQuality)(Whether to allow the volumetric fog feature) r.VolumetricFog.DepthDistributionScale=10 ; (32 constructor)(Scales the slice depth distribution) r.VolumetricFog.Emissive=1 ; (1 constructor)(Brightness in dungeons when Fog and Volumetric Fog are enabled)(Whether to allow the volumetric fog emissive component) r.VolumetricFog.GridPixelSize=4 ; (8 scalability)(16 High 8 Epic 4 Cinematic ShadowQuality)(XY Size of a cell in the voxel grid, in pixels) r.VolumetricFog.GridSizeZ=128 ; (128 scalability)(64 High 128 Epic/Cinematic ShadowQuality)(How many Volumetric Fog cells to use in z) r.VolumetricFog.HistoryMissSupersampleCount=16 ; (4 scalability)(4 High/Epic 16 Cinematic ShadowQuality)(Number of lighting samples to compute for voxels whose history value is not available) r.MaxAnisotropy=16 ; (8 scalability)(0 Low 2 Medium 4 High 8 Epic/Cinematic 16 Max TextureQuality)(MaxAnisotropy should range from 1 to 16. Higher values mean better texture quality, when using anisotropic filtering, but at a cost to performance. Default is 4) r.Streaming.LimitPoolSizeToVRAM=0 ; (1 projectsetting)(1 Low to High 0 Epic/Cinematic TextureQuality)(If non-zero, texture pool size will be limited to how much GPU mem is available) r.Streaming.MaxEffectiveScreenSize=0 ; (0 scalability)(0 Low to Cinematic TextureQuality)(0: Use current actual vertical screen size) r.Streaming.MipBias=0 ; (0 scalability)(2.5 Low 1 Medium 0 High/Cinematic TextureQuality)(0..x reduce texture quality for streaming by a floating point number) r.Streaming.PoolSize=3000 ; (0 project setting)(200 Low 400 Medium 700 High 1000 Epic 3000 Cinematic TextureQuality)(-1: Default texture pool size, otherwise the size in MB)(weird that the engine description is different from the real default value) r.DynamicGlobalIlluminationMethod=1 ; (0 constructor)(20-30 fps cost)(1=Lumen)(0 - None. Global Illumination can be baked into Lightmaps, but no technique will be used for Dynamic Global Illumination) r.ReflectionMethod=1 ; (2 constructor)(1=Lumen)(0 - None. Reflections can come from placed Reflection Captures, Planar Reflections and Skylight, but no global reflection method will be used) r.Lumen.TranslucencyReflections.FrontLayer.Enable=1 ; (0 scalability)(Whether to render Lumen Reflections on the fronmost layer of Translucent Surfaces. Other layers will use the lower quality Radiance Cache method that can only produce glossy reflections) r.Lumen.DiffuseIndirect.AsyncCompute=1 ; (0 constructor)(Whether to run lumen diffuse indirect passes on the compute pipe if possible) r.Lumen.DiffuseIndirect.MinTraceDistance=400 ; (0 constructor)(inside will be brighter) r.Lumen.DiffuseIndirect.SurfaceBias=5 ; (5 constructor)(inside will be brighter) r.Lumen.DiffuseIndirect.SSAO=1 ; (0 constructor)(Whether to render and apply SSAO to Lumen GI, only when r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal is disabled. This is useful for providing short range occlusion when Lumen's Screen Bent Normal is disabled due to scalability, however SSAO settings like screen radius come from the user) r.Lumen.Reflections.BilateralFilter=0 ; (1 constructor)(Whether to do a bilateral filter as a last step in denoising Lumen Reflections) r.Lumen.Reflections.DownsampleFactor=1 ; (1 scalability)(Going above 1 too much noise, 0 demanding)(No description) r.Lumen.Reflections.GGXSamplingBias=1 ; (0.1 constructor)(Seems to make transparent object inside reflective side reflect stuff properly instead of being blurry)(No description) r.Lumen.Reflections.MaxRoughnessToTrace=0.5 ; (0.4 constructor)(No description) r.Lumen.Reflections.SmoothBias=1 ; (0 constructor)(Values larger than 0 apply a global material roughness bias for Lumen Reflections, where 1 is fully mirror) r.Lumen.ScreenProbeGather.DownsampleFactor=16 ; (16 scalability)(higher number causes shadows to slightly pulse when moving around)(8=Cinematic, can be very demanding going lower number)(Pixel size of the screen tile that a screen probe will be placed on) r.Lumen.ScreenProbeGather.MaxRoughnessToEvaluateRoughSpecular=1 ; (0.8 constructor)(Maximum roughness value to evaluate rough specular in Screen Probe Gather. Lower values reduce GPU cost of integration, but also lose rough specular) r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal=0 ; (1 scalability)(Whether to compute screen space direction occlusion to add high frequency occlusion (contact shadows) which Screen Probes lack due to downsampling) r.Lumen.ScreenProbeGather.Temporal.MaxFramesAccumulated=30 ; (10 constructor)(Lower values cause the temporal filter to propagate lighting changes faster, but also increase filckering from noise) r.Lumen.ScreenProbeGather.Temporal.RelativeSpeedDifferenceToConsiderLightingMoving=0 ; (0.005 constructor)(no description) r.Lumen.ScreenProbeGather.TemporalFilterProbes=1 ; (0 constructor)(Whether to temporally filter probe traces to reduce noise) r.Lumen.ScreenProbeGather.TwoSidedFoliageBackfaceDiffuse=1 ; (1 scalability)(Whether to gather lighting along the backface for the Two Sided Foliage shading model, which adds some GPU cost. The final lighting is then DiffuseColor * FrontfaceLighting + SusurfaceColor * BackfaceLighting. When disabled, SubsurfaceColor will simply be added to D...)(can't see more of the description) r.Lumen.TraceDistanceScale=5 ; (1 constructor)(1 is enough for land shadows, but water reflections need 4-5)(Scales the tracing distance for all tracing methods and Lumen Features, used by scalability)
r.DefaultFeature.LensFlare=0 Change the value if you use the main version or the virtual shadows version. Or download the version without fog and lensflare.
I'd like to ask you another little favor. In this image, you can see dots on the window sills, in fact these dots sparkle, and I'd like to know what setting does this effect. I tested it with my old file, which came from DECENT, and I didn't get this effect. I much prefer your settings, and I'd like to point out that your settings are far superior and well mastered. Thanks for your help
try messing with r.Lumen.Reflections.MaxRoughnessToTrace=0.5r.Lumen.ScreenProbeGather.MaxRoughnessToEvaluateRoughSpecular=1 in 0.1 increments, lowering it, well first you can try 0, to see if it has an effect mind you're messing with reflective surfaces, so go check out those non translucent mirrors too, in terms if you lower the roughness value too much
If you wanna try messing with it realtime, get the dxgi file from here, just that, and put it next to the game exe file https://fearlessrevolution.com/viewtopic.php?t=27405 (ignore the browser warning, it's just a falepositive, most companies try actively to curb stomp cheatengine) When you're doing it through console, use space instead of =
It's just so high and far that there is nothing there to render anymore. Or just an engine limitation. I wonder why it doesn't just show off the skybox or use infinite water. Most devs would just limit our gameplay experience, in terms to hide the ugly parts of the game. https://forums.unrealengine.com/t/ue-4-26-ocean-distance-rendering/475516
Sadly fog doesn't hide too, after testing. If it's in the vanilla, you can just report it and just hope the devs fix it, it's fixable if you have the project files, or something like UE4SS.
Thank you for providing this engine.ini to the Palworld community! I like having some lens flare in games, but are there any tweaks I can make to these parameters to reduce the effect so it doesn't interfere as much when in combat? I would like to avoid having it completely disabled because I find it to be one of the unique aspects of this engine.ini compared to others.
Sadly haven't found any command to reduce the effect, only can adjust with lensflare quality or bloom quality the crispiness of the lensflare. I would also like it to be less pronounced.
Sadly the game doesn't recognize any of the other commands, and only can adjust if lensflare is on or off, and what resolution it's at. https://docs.unrealengine.com/5.3/en-US/post-process-effects-in-unreal-engine/
There are two ways to change it. Either getting the unreal engine project manager or whatever it is that let's you change the project settings. Or get Unreal Engine Unlocker (for UE5), and then you can make custom lensflare settings, those will work only while that app is running with the game. They cooked the project settings into the game, or project setting means by default it is cooked. That reminds me to recheck the project setting files, to see if I can even alter them in the game, in Lords of the Fallen, devs put Lumen into project settings, so you can't even change to screenspace with DGIM or RM, but only disable lumen with other settings, albeit wouldn't want that, but rather annoying when devs lock certain settings, and you have to use some third party apps to do extra customization, but you can't save that customization without those apps.
Disable DLSS, enable TSR, then enable DLSS again (auto best). That's how you can add it from the game, DLSS does not actually disable AA in this game, and in most other games, some though force some AA when enabling dlss. If that doesn't work ya, tell me.
I had it forced on before, but some peep complained that it's stupid to enable it. I call it a personal preference, but just deleted that part that was useful for me, I can have it enabled regardless anyway. Imo if anybody uses DLSS, TSR is the best AA option to be used, anything else is worse. If they don't use DLSS, then yeah TSR is too demanding.
Can you post a pic of what you mean? Then I can compare it with what I have and see if I can adjust it, reflections should be pretty much maxed out, the only things I can't get anymore is object view distance, the unreal engine 5.0.1.1 (or whatever version palworld is using) is so severely limited in everything.
Could you please elaborate, water reflections? normal surface reflections? transparent surface reflections? And what stuff being reflected? Because you can't reflect dynamic objects that aren't rendered on the screen, thus you can only see your own character reflection and etc. similar stuff in side reflections, because it's already being rendered, so it's just duplicates that, need raytracing to get info about what isn't being rendered.
If you want dynamic model reflections, then nope, until the devs add the missing shader, can't enable raytracing. At the moment we only get either no reflections, screen space reflections or lumen reflections, all of it works with dx11 the same way as in dx12. So we can get reflections of stuff that is at an angle, but not straight in front, reflections at least understand not to reflect, unlike Divison 2, where it reflects both your character's back and front and is just a blurry mush.
Forgive me for asking, but I have a similar question. What is the Decent Plus INI using to render its reflections? The modder enabled a bunch of RT settings, but as you said, those don't have any effect right now. That said, the reflections on both solid surfaces and water are gorgeous, and if I could couple the settings it uses with your INI, I think I'd have a perfect config.
I made 3 posts there, you can check 'em. https://www.nexusmods.com/palworld/mods/242?tab=posts I dismantled everything regarding the engine.ini. https://youtube.com/live/yWtZ3f1jeus He is using somewhat lower values for some stuff or just basic vanilla settings. Think the only thing he mostly does to get those screenshots is just reshade.
So you could just try using my engine.ini mod, maybe add stuff that he uses and that I don't use, and then add on top of it the reshade.
Here is is a list of everything that actually do anything differently, but only with epic settings (maybe some do on lower settings). (Valid command and that are different from default values)
Spoiler:
Show
r.AmbientOcclusionLevels=2 ; (-1 scalability)(you used 3 and 2 duplicates, 2 was lower row, so that was enabled) r.AmbientOcclusion.Method=1 ; (0 constructor)(1 is disabled, levels only works with method=0) r.BloomQuality=4 ; (5 scalability) r.DefaultFeature.LightUnits=2 ; (1 constructor) r.EyeAdaptation.MethodOverride=2 ; (-1 constructor) r.EyeAdaptation.ExponentialTransitionDistance=10 ; (1.5 constructor) r.SkeletalMeshLODBias=-2 ; (0 scalability) r.SkylightIntensityMultiplier=2.5 ; (1 constructor)(2.5x brighter than normally) r.VolumetricFog=0 ; (1 scalability)(0 disables reflections through fogs, plus dungeons look different) r.VolumetricRenderTarget.Mode=1 ; (0 constructor) r.Water.SingleLayer.RefractionDownsampleFactor=2 ; (1 constructor) r.Water.SingleLayer.SSR=0 ; (1 constructor)(1 works yeah only if screenspace is used instead of lumen) r.ReflectionMethod=1 ; (2 constructor)(1 lumen if lumen is enabled from DGIM and LumenDiffuse is allowed, otherwise 1 does the same as 2 aka screenspace reflections) r.ReflectionCaptureSupersampleFactor=4 ; (1 constructor) r.Reflections.Denoiser=1 ; (2 constructor) r.DynamicGlobalIlluminationMethod=1 ; (0 constructor)(1 lumen, 2 screenspace) r.LumenScene.Radiosity.SpatialFilterProbes.KernelSize=0.1 ; (1 constructor)(converts 0.1 increments to 0, 1.982471 to 1 and so on.) r.Lumen.DiffuseIndirect.SSAO=1 ; (0 constructor)(1 works only if r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal=0) r.Lumen.Reflections.DownsampleFactor=2 ; (1 scalability)(0 was demanding I think, 1 is best, 2+ causes jitter) r.Lumen.Reflections.GGXSamplingBias=0.3 ; (0.1 constructor)(1 is better if lumen roughness is high enough up to 1) r.Lumen.Reflections.HierarchicalScreenTraces.MaxIterations=64 ; (50 constructor) r.Lumen.Reflections.ScreenSpaceReconstruction.KernelRadius=1 ; (8 constructor) r.Lumen.Reflections.SmoothBias=0.5 ; (0 constructor)(1 is full mirror in terms of clarity) r.Lumen.ScreenProbeGather.AdaptiveProbeAllocationFraction=1 ; (0.5 constructor) r.Lumen.ScreenProbeGather.IrradianceFormat=1 ; (0 scalability) r.Lumen.ScreenProbeGather.RadianceCache.ProbeResolution=16 ; (32 scalability) r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal=0 ; (1 scalability)(1 disables lumen ssao) r.Lumen.ScreenProbeGather.SpatialFilterMaxRadianceHitAngle=60 ; (10 constructor) r.Lumen.ScreenProbeGather.SpatialFilterNumPasses=2 ; (3 constructor) r.Lumen.ScreenProbeGather.TemporalFilterProbes=1 ; (0 constructor) r.Lumen.ScreenProbeGather.Temporal.MaxFramesAccumulated=16 ; (10 constructor)(30 is pretty good, 10 isn't really enough, going lower causes flickering shadows, among many other temporal settings, you can see max flickering if r.Lumen.ScreenProbeGather.Temporal=0, anyway higher values can cause more ghosting, most other settings cause more ghosting than this value) r.Lumen.TranslucencyReflections.FrontLayer.Enable=1 ; (0 scalability)(enables crystal clear reflections on transcluscent objects) r.Lumen.TranslucencyVolume.GridPixelSize=64 ; (32 scalability) r.LumenScene.DirectLighting.UpdateFactor=32 ; (16 constructor) r.LumenScene.DistantScene=1 ; (0 constructor)(1 no idea if it even works) r.LumenScene.FarField=1 ; (0 constructor)(1 no idea if it even works) r.LumenScene.Heightfield.MaxTracingSteps=1 ; (32 constructor) r.LumenScene.Radiosity.MaxRayIntensity=400 ; (40 constructor)(no point going higher) r.LumenScene.Radiosity.MinTraceDistanceToSampleSurface=1 ; (10 constructor) r.LumenScene.Radiosity.ProbeSpacing=8 ; (4 scalability)
(Duplicate commands and/or bottom one overwrites the higher one) r.AmbientOcclusionLevels=3 r.AmbientOcclusionMaxQuality=26 r.AmbientOcclusion.Method=1 r.RayTracing.Reflections.HeightFog=1 ; and missing another command for it to do anything
(Different real value) r.LumenScene.Radiosity.SpatialFilterProbes.KernelSize=0.1 ; (1 constructor)(converts 0.1 increments to 0, 1.982471 to 1 and so on.) r.SceneColorFringe.Max=0.5 ; (-1 constructor)(-2 enables chromatic aberration, the rest disable it, -1 should do something, but don't see any change)
(Same as constructor/default, doesn't matter what settings you change in the game) grass.CullDistanceScale=1 ; (1 constructor) grass.DisableDynamicShadows=0 ; (0 constructor) r.DefaultFeature.AmbientOcclusion=1 ; (1 constructor) r.DistanceFields=1 ; (1 constructor) r.Fog=1 ; (1 constructor) r.GenerateMeshDistanceFields=1 ; (1 projectsetting)(not sure where it's reading from in vanilla, prolly some other ini file) r.SkyLightingQuality=1 ; (1 constructor) r.Water.SingleLayer=1 ; (1 constructor) r.Water.SingleLayer.LumenReflections=1 ; (1 constructor) r.Water.SingleLayer.Reflection=1 ; (1 constructor) r.ReflectionCaptureResolution=128 ; (128 constructor) r.ReflectionEnvironmentLightmapMixBasedOnRoughness=1 ; (1 constructor) r.GlobalIllumination.Denoiser.PreConvolution=1 ; (1 constructor) r.Lumen.Reflections.BilateralFilter=1 ; (1 constructor) r.Lumen.Reflections.MaxRoughnessToTrace=0.4 ; (0.4 constructor) r.Lumen.Reflections.Temporal=1 ; (1 constructor) r.Lumen.ScreenProbeGather=1 ; (1 constructor) r.Lumen.ScreenProbeGather.ImportanceSample=1 ; (1 contructor) r.Lumen.TraceMeshSDFs=1 ; (1 constructor) r.LumenScene.DirectLighting.VirtualShadowMap=1 ; (1 constructor) r.LumenScene.Radiosity.UpdateFactor=64 ; (64 constructor)
(Same as epic quality can be also on lower quality) grass.DensityScale=1 ; (1 scalability) r.AmbientOcclusionMaxQuality=100 ; (100 scalability)(you used 26 and 100, 100 was lower row, so that was enabled) r.AmbientOcclusionMipLevelFactor=0.4 ; (0.4 scalability) r.AmbientOcclusionRadiusScale=1 ; (1 scalability) r.AOQuality=2 ; (2 scalability) r.DepthOfFieldQuality=2 ; (2 scalability) r.DistanceFieldAO=1 ; (1 scalability) r.EyeAdaptationQuality=2 ; (2 scalability) r.ViewDistanceScale=1 ; (1 scalability) r.Lumen.DiffuseIndirect.Allow=1 ; (1 scalability) r.Lumen.Reflections.Allow=1 ; (1 scalability) r.Lumen.ScreenProbeGather.DownsampleFactor=16 ; (16 scalability) r.Lumen.ScreenProbeGather.RadianceCache.NumProbesToTraceBudget=300 ; (300 scalability) r.Lumen.ScreenProbeGather.TracingOctahedronResolution=8 ; (8 scalability) r.Lumen.ScreenProbeGather.TwoSidedFoliageBackfaceDiffuse=1 ; (1 scalability) r.Lumen.TraceMeshSDFs.Allow=1 ; (1 scalability) r.Lumen.TranslucencyReflections.FrontLayer.Allow=1 ; (1 scalability) r.Lumen.TranslucencyVolume.TracingOctahedronResolution=3 ; (3 scalability) r.LumenScene.Radiosity.HemisphereProbeResolution=4 ; (4 scalability) r.LumenScene.SurfaceCache.CardCaptureRefreshFraction=0.125 ; (0.125 scalability)
(Valid command and that are different from default values) r.AmbientOcclusionLevels=2 ; (-1 scalability)(you used 3 and 2 duplicates, 2 was lower row, so that was enabled) r.AmbientOcclusion.Method=1 ; (0 constructor)(1 is disabled, levels only works with method=0) r.BloomQuality=4 ; (5 scalability) r.DefaultFeature.LightUnits=2 ; (1 constructor) r.EyeAdaptation.MethodOverride=2 ; (-1 constructor) r.EyeAdaptation.ExponentialTransitionDistance=10 ; (1.5 constructor) r.SkeletalMeshLODBias=-2 ; (0 scalability) r.SkylightIntensityMultiplier=2.5 ; (1 constructor)(2.5x brighter than normally) r.VolumetricFog=0 ; (1 scalability)(0 disables reflections through fogs, plus dungeons look different) r.VolumetricRenderTarget.Mode=1 ; (0 constructor) r.Water.SingleLayer.RefractionDownsampleFactor=2 ; (1 constructor) r.Water.SingleLayer.SSR=0 ; (1 constructor)(1 works yeah only if screenspace is used instead of lumen) r.ReflectionMethod=1 ; (2 constructor)(1 lumen if lumen is enabled from DGIM and LumenDiffuse is allowed, otherwise 1 does the same as 2 aka screenspace reflections) r.ReflectionCaptureSupersampleFactor=4 ; (1 constructor) r.Reflections.Denoiser=1 ; (2 constructor) r.DynamicGlobalIlluminationMethod=1 ; (0 constructor)(1 lumen, 2 screenspace) r.LumenScene.Radiosity.SpatialFilterProbes.KernelSize=0.1 ; (1 constructor)(converts 0.1 increments to 0, 1.982471 to 1 and so on.) r.Lumen.DiffuseIndirect.SSAO=1 ; (0 constructor)(1 works only if r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal=0) r.Lumen.Reflections.DownsampleFactor=2 ; (1 scalability)(0 was demanding I think, 1 is best, 2+ causes jitter) r.Lumen.Reflections.GGXSamplingBias=0.3 ; (0.1 constructor)(1 is better if lumen roughness is high enough up to 1) r.Lumen.Reflections.HierarchicalScreenTraces.MaxIterations=64 ; (50 constructor) r.Lumen.Reflections.ScreenSpaceReconstruction.KernelRadius=1 ; (8 constructor) r.Lumen.Reflections.SmoothBias=0.5 ; (0 constructor)(1 is full mirror in terms of clarity) r.Lumen.ScreenProbeGather.AdaptiveProbeAllocationFraction=1 ; (0.5 constructor) r.Lumen.ScreenProbeGather.IrradianceFormat=1 ; (0 scalability) r.Lumen.ScreenProbeGather.RadianceCache.ProbeResolution=16 ; (32 scalability) r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal=0 ; (1 scalability)(1 disables lumen ssao) r.Lumen.ScreenProbeGather.SpatialFilterMaxRadianceHitAngle=60 ; (10 constructor) r.Lumen.ScreenProbeGather.SpatialFilterNumPasses=2 ; (3 constructor) r.Lumen.ScreenProbeGather.TemporalFilterProbes=1 ; (0 constructor) r.Lumen.ScreenProbeGather.Temporal.MaxFramesAccumulated=16 ; (10 constructor)(30 is pretty good, 10 isn't really enough, going lower causes flickering shadows, among many other temporal settings, you can see max flickering if r.Lumen.ScreenProbeGather.Temporal=0, anyway higher values can cause more ghosting, most other settings cause more ghosting than this value) r.Lumen.TranslucencyReflections.FrontLayer.Enable=1 ; (0 scalability)(enables crystal clear reflections on transcluscent objects) r.Lumen.TranslucencyVolume.GridPixelSize=64 ; (32 scalability) r.LumenScene.DirectLighting.UpdateFactor=32 ; (16 constructor) r.LumenScene.DistantScene=1 ; (0 constructor)(1 no idea if it even works) r.LumenScene.FarField=1 ; (0 constructor)(1 no idea if it even works) r.LumenScene.Heightfield.MaxTracingSteps=1 ; (32 constructor) r.LumenScene.Radiosity.MaxRayIntensity=400 ; (40 constructor)(no point going higher) r.LumenScene.Radiosity.MinTraceDistanceToSampleSurface=1 ; (10 constructor) r.LumenScene.Radiosity.ProbeSpacing=8 ; (4 scalability)
Thanks for this! It's definitely not coming from Reshade, though. Some of the the lighting is. I've checked out the profile, and it's just ambient lighting and bloom. The reflections are done entirely in engine, and your own INI pretty much achieves the exact same lighting effects, if not better. I also play on Linux, and while it is possible to use Reshade shaders with vkBasalt, it's a very tedious set up that I don't really want to bother with if it just gives me a negligible effect on lighting. You can't use things like HDR shaders, either. That's why I'd like to incorporate their reflections into your INI, because yours adds a sense of realism to everything. Everything just pops, except for reflective surfaces. They look out of place, and detract from how beautiful everything else is. Of course, though, this is just my own taste.
You can also disable kinda selectively the reflections, you can just turn off the water lumen reflections and it will use screenspace instead, or even turn that off for fully transparent water, looks pretty good when looking from above down beach side water, where you can see the ground below water. You can also turn off the translucent reflections separately, and also turning off just lumen reflections will turn them off everywhere.
After removing the lens flare, this is hands down the best graphics fixer I've found. I think I tried like three others first and each had some issue or only part of what I wanted and I'm so bad at customizing beyond one or two lines. This one works great and doesn't even make me lag. It's nice.
In what regard? The mod forces overrides on the AA settings like AntiAliasingMethod=4 which is stupid since it's all preference based. It's a good mod but it does a lot of stuff not graphics related or things like that which aren't positive
Well, everything here is preference based. I have better image quality by using AAM_TSR (which is 4), and works really well with DLSS auto, without dlss the game is pretty demanding, and without AA it looks super jaggy, especially with dlss only. You can just delete the antialiaisingmethod, if you don't like it. I'll just make an optional one that doesn't force AA, seems you don't use DLSS. When I get some new visual feature working, aka when I make a new version, I'll make the no aa as the main thing, I can have tsr enabled in gameusersettings anyway separately.
Also, everything here is graphics related. Most just don't change anything performance wise, plus I listed what are the most performance demanding settings. I prolly could curb some out if you know what it does in the game and that if I agree with that, after testing it out myself. Like some async stuff and pool stuff I don't really care about, I just took them from unreal engine 5.3 homepage showing scalability settings and what the epic quality settings used (well those you can see in the description and where I listed low to cinametic values), and checked somewhere else what cinematic quality was for it, sometimes found few things that had conflicting values or some values changed its range lower or higher. Some settings, even if they are at default value (being identical to constructor value), I kept just in case someone wants to mess with 'em.
Can you post a pic of the difference or just what you mean? I'm trying really hard to see a difference on night and day? Or, can anyone post a pic of what he means. I didn't see any difference in it being enabled or not for shadows on water.
Also, the only thing we're enabling here is Lumen without raytracing. If it was raytraced then reflections would work, not only from the side angle, where it reflects what you see on the screen, raytracing allows us to see what isn't being rendered on the screen. Also, to enable lumen, you only need dx11. To enable any raytracing feature, you first need to enable dx12 and then r.RayTracing, the latter at the moment, only results in a crash because devs didn't add a shader into the build. So we just get diffuseindirect from lumen, the moment you disable diffuse it's the same as disabling lumen dynamic global illumination method. At the moment, lumen reflections work exactly the same way as Screenspace reflections, but worse, albeit we can use translucent reflections too, which is better than screenspace.
By deleting any value you will be using the default value. No clue what they are. Also, the default settings change depending on your scalability settings in gameusersettings. On that department, I can say all values are 3 there, but every one of them changes multiple other default r. values.
Would need to do double testing basically, I only tested 1 by one while everything was in use. Would need to test while nothing is modified and change something 1 by 1.
If you want more performance, increase mipmap value. I already increased it by 2, from what I had before, it was -1 before. You can also delete everything related to shadows and/or lumen alongside with reflections.
You can delete or lower grass.densityScale r.ShadowQuality r.ViewDistanceScale r.Shadow.DistanceScale
Weird at first I noticed that the dxgi console menu showed a previous value, but for some reason now it only shows the new value as the value you changed it to, basically showing me the same thing 2x, when changing a setting. Sad, thought maybe I could just check all of 'em one by one with the epic settings.
Ah okay now I understood, lel finally, how to see default settings properly.
Just enter the command without a value. Sometimes can't see the text, so need to enter the comman 2x. r.RayTracing shows me r.RayTracing = "0" LastSetBy: Constructor
So guess at some point in time will add that info into the description.
80 comments
Found another vanilla bug. Volumetric clouds start to exist visually after coming out of a dungeon. Was like wtf where did these come from, I was always used to seeing cloud shadows on the ground, but never saw the moving clouds. I'll check if I see some setting that I can toggle this setting and maybe enable it without having to go to the dungeon.
https://steamcommunity.com/sharedfiles/filedetails/?id=3411250787
https://steamcommunity.com/sharedfiles/filedetails/?id=3411250712
Specs:
I'm using a RTX 4070 12GB, i7 8700K, 48GB ram+10GB page file, win10. Get around 75-150 fps (With version 0.21 @1080p epic game settings and TSR AA with DLSS Auto). (Depends on what/where you look at, sky is 150 fps, most of the time it's 85-120fps)(Baseline menu is 240 fps)
Change these if you want performance back, but mind that visually most noticeable, especially Global Illumination, everything Lumen related.
r.DynamicGlobalIlluminationMethod=1 ; (20-30 fps cost)(1=Lumen)(0 - None. Global Illumination can be baked into Lightmaps, but no technique
will be used for Dynamic Global Illumination)
r.VolumetricFog=1 ; (10 fps cost, works only when Fog is also enabled)(0 Low/Medium 1 High/Epic/Cinematic ShadowQuality)(Whether to
allow the volumetric fog feature)
r.ViewDistanceScale=5 ; (10-20 fps cost going from 1 to 5)(0.4 Low 0.6 Medium 0.8 High 1 Epic 10 Cinematic ViewDistanceQuality)(Controls
the view distance scale. A primitive's MaxDrawDistance is scaled by this value)
r.StaticMeshLODDistanceScale=0.1 ; (5fps cost going from 1 to 0.1)(0.1-1+: 0 breaks, higher number lowers the distance of higher
quality lod)(Scale factor for the distance used in computing discrete LOD for static meshes. (defaults to 1))
r.ViewTextureMipBias.Min=0 ; (-2 constructor)(5 fps cost going from 0 to -2)(same as mipmap, weirdly vanilla uses the more costly variant, microscopic texture sharpness gain going below 0)(Automatic view mip bias's minimum value (default to -2))
r.ViewTextureMipBias.Offset=0 ; (-0.3 constructor)(when Min value is in negative, this one becomes performance costly)(Automatic view mip bias's constant offset (default to -0.3)
Mention if the dx12 feels worse consistently every time. Will either revert back to dx11 or just make dx12 optional. Can't use any raytracing function anyway at the moment.
For those who use virtual shadows. When virtual shadow maps are not forced on, you can adjust the shadow cascades and distance. Performance somewhat drops with virtual shadows and dx12, but mostly only when using the equipment menu, when your character or pals are in view in the menu, probably something breaks it, haven't found yet a setting that could fix that weird performance drop.
r.Shadow.CSM.MaxCascades=10
r.Shadow.DistanceScale=2
r.Shadow.Virtual.Enable=1 ; (0 constructor)(0 or 1, works with dx12 only, causes low fps temporarily while inventory/menu characters are visible)(Enable Virtual Shadow Maps)
r.Shadow.Virtual.UseFarShadowCulling=0 ; (1 constructor)(0 more distant shadows)(Disabled when forcing only virtual shadow maps)(Switch between implementing the far shadow culling logic for VSMs)
r.Shadow.Virtual.ForceOnlyVirtualShadowMaps=1 ; (0 constructor)(1=all accurate shadows)(When far shadow culling is 0, then only close to mid range shadows change)(If enabled, disallow creation of conventional non-virtual shadow maps for any lights that get a virtual shadow map)
r.Shadow.Virtual.ScreenRayLength=0 ; (0.015 constructor)(Length of the screen space trace (smart shadow bias) before the virtual shadow map lookup)
0.24
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
[SystemSettings]
r.ReflectionCapture.EnableLightFunctions=1 ; (0 constructor)(0. Disable light functions in reflection/sky light capture (default))
r.PathTracing=1 ; (1 constructor)(read only)
r.RayTracing=0 ; (0 constructor)(read only)(will cause a crash, because of a missing shader file not being cooked into the game)
r.AllowGlobalClipPlane=1 ; (0 constructor)(read only)(Enables mesh shaders to support a global clip plane, needed for palanar reflections, which adds about 15% BasePass GPU cost on PS4)
r.Water.SingleLayer.DepthPrepass=1 ; (0 constructor)(read only)
r.Water.SingleLayerWater.SupportCloudShadow=1 ; (0 constructor)(read only)(Enables cloud shadows on SingleLayerWater materials)
r.ViewDistanceScale=5 ; (1 scalability)(10-20 fps cost going from 1 to 5)(0.4 Low 0.6 Medium 0.8 High 1 Epic 10 Cinematic ViewDistanceQuality)(Controls the view distance scale. A primitive's MaxDrawDistance is scaled by this value)
r.SkeletalMeshLODBias=-1 ; (0 scalability)(2 Low 1 Medium 0 High to Cinematic ViewDistanceQuality)(LOD bias for skeletal meshes (does not affect animation editor viewports))
r.StaticMeshLODDistanceScale=0.1 ; (1 constructor)(5fps cost going from 1 to 0.1)(0.1-1+: 0 breaks, higher number lowers the distance of higher quality lod)(Scale factor for the distance used in computing discrete LOD for static meshes. (defaults to 1))
r.MipMapLODBias=0 ; (0 constructor)(Can be very demanding the lower you go, -1 and 1 difference around 15-20 fps)(Apply additional mip map bias for all 2d textures, range of -15.0 to 15.0)
r.ViewTextureMipBias.Min=0 ; (-2 constructor)(5-10 fps cost going from 0 to -2)(same as mipmap, weirdly vanilla uses the more costly variant, microscopic texture sharpness gain going below 0)(Automatic view mip bias's minimum value (default to -2))
r.ViewTextureMipBias.Offset=0 ; (-0.3 constructor)(when Min value is in negative, this one becomes performance costly)(Automatic view mip bias's constant offset (default to -0.3)
r.Color.Max=1.0 ; (1 constructor)(Allows to define where the value 1.0 in the color channels is mapped to after color grading)
r.Color.Mid=0.5 ; (0.5 constructor)(Allows to define where the value 0.5 in the color channels is mapped to after color grading (This is similar to a gamma correction)
r.Color.Min=0 ; (0 constructor)(Allows to define where the value 0 in the color channels is mapped to after color grading)
r.CreateShadersOnLoad=1 ; (0 constructor)(Whether to create shaders on load, which can reduce hitching, but use more memory. Otherwise they will be created as needed)
r.ForceHighestMipOnUITextures=1 ; (0 constructor)(If set to 1, textures in the UI Group will have their highest mip level forced)
r.GBufferFormat=4 ; (1 constructor)(Defines the memory layout used for the GBuffer)
r.HZBOcclusion=1 ; (1 projectsetting)(Defines which occlusion system is used)
r.LandscapeLOD0DistributionScale=4 ; (1 constructor)(Multiplier for the landscape LOD0DistributionSetting property)
r.LandscapeLODDistributionScale=4 ; (1 constructor)(Multiplier for the landscape LODDistributionSetting property)
r.DetailMode=2 ; (2 scalability)(0 Low 1 Medium/High 2 Epic/Cinematic EffectsQuality)(Current detail mode; determines whether components of actors should be updated/ticked)
r.Emitter.FastPoolEnable=1 ; (0 constructor)(Should we use fast pools for emitters.)
r.EmitterSpawnRateScale=1 ; (1 scalability)(0.125 Low 0.25 Medium 0.5 High 1 Epic/Cinematic EffectsQuality)(A global scale upon the spawn rate of emitters. Emitters can choose to apply or ignore it via their bApplyGlobalSpawnRateScale property)
r.MaterialQualityLevel=3 ; (1 scalability)(0 Low 1 Medium to Cinematic 3 Max EffectsQuality)(1 and 3 only work properly)(0 corresponds to low quality materials, as defined by quality switches in materials, 1 corresponds to high, 2 for medium, and 3 for epic)
r.ParticleLightQuality=2 ; (2 scalability)(0 Low/Medium 1 High 2 Epic/Cinematic EffectsQuality)(0: No lights. 1: Only simple lights. 2: Simple + HQ lights)
r.RefractionQuality=3 ; (2 scalability)(0 Low/Medium 2 High/Epic 3 Cinematic EffectsQuality)(Defines the distortion/refraction quality which allows to adjust for quality or performance)
r.SceneColorFormat=4 ; (4 scalability)(3 Low to High 4 Epic/Cinematic EffectsQuality)(Defines the memory layout (RGBA) used for the scene color)
r.SSR.MaxRoughness=1 ; (-1 constructor)(Allows to override the post process setting ScreenSpaceReflectionMaxRoughness)
r.SSR.Quality=4 ; (3 scalability)(0 Low to High 1 Epic 4 Cinematic EffectsQuality)(works only when DGIM is 0/2 and ReflectionMethod 1/2 or DGIM 1 and RM 2, same with other SSR settings)(Whether to use screen space reflections and at what quality setting)
r.SSR.Temporal=1 ; (0 constructor(Defines if we use the temporal smoothing for the screen space reflection)
r.SSS.HalfRes=0 ; (0 scalability)(1 Low to Epic 0 Cinematic EffectsQuality)(0: full quality (Combined Burley and Separable pass. Separable is not optimized, as reference))
r.SSS.Quality=1 ; (1 scalability)(0 Low/Medium 1 High to Cinematic EffectsQuality)(Defines the quality of the recombine pass when using the SubsurfaceScatteringProfile shading model)
r.SSS.SampleSet=2 ; (2 scalability)(0 Low/Medium 1 High 2 Epic/Cinematic EffectsQuality)(Defines how many samples we use for Separable Screenspace Subsurface Scattering feature)
r.SSS.Scale=1 ; (1 scalability)(0 Low 0.75 Medium 1 High to Cinematic EffectsQuality)(Affects the Screen space Separable subsurface scattering pass (use shadingmodel SubsurfaceProfile, get near to the object as the default)
r.TranslucencyLightingVolumeDim=64 ; (64 scalability)(24 Low 32 Medium 48 High 64 Epic/Cinematic EffectsQuality)(too high = gpu ran out memory and crash)(Dimensions of the volume textures used for translucency lighting. Larger textures result in higher resolution but lower performance)
r.TranslucencyVolumeBlur=0 ; (1 scalability)(0 Low/Medium 1 High to Cinematic EffectsQuality)(Whether to blur the translucent lighting volumes)
foliage.DitheredLOD=1 ; (1 constructor)(If greater than zero, dithered LOD is used, otherwise popping LOD is used)
foliage.LODDistanceScale=1 ; (1 constructor)(different foliage have different ranges where the 3d object lighting/shadows break, jungle trees break with higher than 0.5 distance)(0-10, can be demanding above 10)(Scale factor for the distance used in computing LOD for foliage)
foliage.OverestimateLOD=0 ; (0 constructor)(some foliage with low loddistance will render low quality foliage close by, palm trees break with lower than 3 distance)(0 or 1)(If greater than zero and dithered LOD is not used, then we use an overestimate of LOD instead of an underestimate)
grass.densityScale=1 ; (1 scalability)(0 Low 0.4 Medium 0.8 High 1 Epic/Cinematic Unknown Max FoliageQuality)(Can be very demanding)(Multiplier on all grass densities)
r.PostProcessingColorFormat=1 ; (0 constructor)(Defines the memory layout (RGBA) used for most of the post processing chain buffers)
r.AmbientOcclusionLevels=2 ; (-1 scalability)(0 Low 1 Medium 2 High 3 Epic PostProcessQuality)(Defines how many mip level are using during ambient occlusion calculation. This is useful when tweaking the algorithm)
r.AmbientOcclusionMaxQuality=100 ; (100 scalability)(0 Low 60 Medium/High 100 Cinematic PostProcessQuality)(Defines the max clamping value from the post process volume's quality level for ScreenSpace Ambient Occlusion)
r.AmbientOcclusionMipLevelFactor=0.4 ; (0.4 scalability)(1 Low/Medium 0.6 High 0.4 Epic/Cinematic PostProcessQuality)(Controls mipmap level according to the SSAO step id)
r.AmbientOcclusionRadiusScale=1 ; (1 scalability)(1.7 Low/Medium 1.5 High 1 Epic/Cinematic PostProcessQuality)(Allows to scale the ambient occlusion radius (SSAO))
r.AmbientOcclusionStaticFraction=1 ; (-1 constructor)(Allows to override the Ambient Occlusion Static Faction (see post process volume). Factions are between 0 and 1)
r.BloomQuality=5 ; (5 scalability)(4 Low/Medium 5 High to Cinematic PostProcessQuality)(0:off, no performance impact)
r.DefaultFeature.AmbientOcclusion=1 ; (1 scalability)(Engine default (project setting) for AmbientOcclusion is (postprocess volume/camera/game setting still can override)
r.DefaultFeature.AutoExposure=1 ; (1 constructor)(Engine default (project setting) for AutoExposure is (postprocess volume/camera/game setting still can override)
r.DefaultFeature.LensFlare=1 ; (0 constructor)(Engine default (project setting) for LensFlare is (postprocess volume/camera/game setting still can override)
r.DefaultFeature.MotionBlur=0 ; (0 code)(Engine default (project settings) for MotionBlur is (postprocess volume/camera/game setting still can override)
r.DepthOfFieldQuality=4 ; (2 scalability)(0 Low 1 Medium 2 High/Epic 4 Cinematic PostProcessQuality)(Allows to adjust the depth of field quality. Currently only fully affects BokehDOF. GaussianDOF is either 0 for off, otherwise on)
r.EyeAdaptationQuality=2 ; (2 scalability)(0 Low/Medium 2 High to Cinematic PostProcessQuality)(At 0 it's darker when you look darker areas and brighter areas are brighter, at 1 or higher it will balance it out automatically)(Defines the eye adaption quality which allows to adjust for quality or performance)
r.FastBlurThreshold=100 ; (100 scalability)(0 Low 2 Medium 3 High 7 Epic 100 Cinematic PostProcessQuality)(Defines at what radius the Gaussian blur optimization kicks in (estimated 25% - 40% faster))
r.Filter.SizeScale=2 ; (1 scalability)(0.6 Low 0.7 Medium 0.8 High 1 Epic/Cinematic PostProcessQuality)(Allows to scale down or up the sample count used for bloom and Gaussian depth of field (scale is clamped to give reasonable results))
r.LensFlareQuality=3 ; (2 scalability)(0 Low/Medium 2 High/Epic 3 Cinematic PostProcessQuality)(0: off but best for performance)
r.LightShaftQuality=1 ; (1 scalability)(0 Low/Medium 1 High to Cinematic PostProcessQuality)(Defines the light shaft quality (mobile and non mobile))
r.MotionBlurQuality=0 ; (4 scalability)(0 Low 3 Medium/High 4 Epic/Cinematic PostProcessQuality)(Defines the motion blur method which allows to adjust for quality or performance)
r.RenderTargetPoolMin=1000 ; (400 scalability)(300 Low 350 Medium 400 High/Epic 1000 Cinematic PostProcessQuality)(If the render target pool size (in MB) is below this number, there is no deallocation of render targets. Default is 200 MB)
r.SceneColorFringe.Max=0 ; (-1 constructor)(-2 on, -1 clamp - Allows to clamp the postprocess setting (in percent, Scene chromatic aberration / color fringe to simulate an artifact that happens in real-world lens, mostly visible in the image corners))
r.SceneColorFringeQuality=0 ; (1 scalability)(0 Low/Medium 1 High to Cinematic PostProcessQuality)(0: off but best for performance)
r.Tonemapper.GrainQuantization=1 ; (1 scalability)(0 Low/Medium 1 High to Cinematic PostProcessQuality)(0: low (minor performance benefit))
r.Tonemapper.Quality=5 ; (5 scalability)(0 Low 2 Medium 5 High to Cinematic PostProcessQuality)(Defines the Tonemapper Quality in the range 0..5)
r.Tonemapper.Sharpen=1 ; (0 constructor)(0 soft look, higher uses sharpening)(Sharpening in the tonemapper (not for mobile), actual implementations is work in progress, clamped at 10)
r.Upscale.Quality=3 ; (3 scalability)(1 Low 2 Medium/High 3 Epic/Cinematic PostProcessQuality)(Defines the quality in which ScreenPercentage and WindowedFullscreen scales the 3d rendering)
r.CapsuleShadows=1 ; (1 scalability)(0 Low 1 Medium to Cinematic ShadowQuality)(Whether to allow capsule shadowing on skinned components with bCastCapsuleDirectShadow or bCastCapsuleIndiretShadow enabled)
r.ContactShadows.NonShadowCastingIntensity=1 ; (0 constructor)(Intensity of contact shadows from objects with cast contact shadows disabled. Usually 0(off))
r.DFDistanceScale=10 ; (1 constructor)(Can be very demanding going over 10)(Factor to scale directional light property 'DistanceField Shadows Distance', clamped to [0.0001, 10000])
r.DFFullResolution=1 ; (0 constructor)(1 = full resolution distance field shadowing, 0 = half resolution with bilateral upsample)
r.DistanceFieldAO=1 ; (1 scalability)(0 Low/Medium 1 High to Cinematic ShadowQuality)(Whether the distance field AO feature is allowed, which is used to implement shadows of Movable sky light from static meshes)
r.DistanceFieldShadowing=1 ; (1 scalability)(0 Low/Medium 1 High to Cinematic ShadowQuality)(Whether the distance field shadowing feature is allowed)
r.LightFunctionQuality=1 ; (1 scalability)(0 Low 1 Medium to Cinematic ShadowQuality)(Defines the light function quality which allows to adjust for quality or performance)
r.LightMaxDrawDistanceScale=1 ; (1 scalability)(0 Low 0.5 Medium 1 High to Cinematic ShadowQuality)(Scale applied to the MaxDrawDistance of light. Useful for fading out local lights more aggressively on some platforms.)
r.Shadow.CSM.MaxCascades=10 ; (3 scalability)(1 Low/Medium 2 High 4 Epic 10 Cinematic ShadowQuality)(Dynamic shadows, like in vanilla, causes light to bleed through certain textures)(The maximum number of cascades with which to render dynamic directional light shadows)
r.Shadow.CSM.TransitionScale=2 ; (1 scalability)(0 Low 0.25 Medium 0.8 High 1 Epic/Cinematic 2 Max ShadowQuality)(Allows to scale the cascaded shadow map transition region. Clamped within 0..2)
r.Shadow.CSMShadowDistanceFadeoutMultiplier=0 ; (1 constructor)(Multiplier for the CSM distance fade)
r.Shadow.DistanceScale=2 ; (1 scalability)(Scalability option to trade shadow distance versus performance for directional lights (clamped within a reasonable range)
r.Shadow.FilterMethod=2 ; (0 constructor)(2 is more accurate when being close to objects)(Chooses the shadow filtering method)
r.Shadow.PreShadowResolutionFactor=1 ; (1 scalability)(0.5 Low to High 1 Epic/Cinematic ShadowQuality)(Multiplier for preshadow resolution)
r.Shadow.MaxCSMResolution=4096 ; (2048 scalability)(512 Low 1024 Medium 2048 High/Epic 4096 Cinematic ShadowQuality)(Can be increased when using r.Shadow.DistanceScale 2, or with 1 can be lower)((Max square dimensions (in texels) allowed for rendering Cascaded Shadow depths. Range 4 to hardware limit. Higher = better quality shadows, but at a performance cost)
r.Shadow.MaxResolution=4096 ; (2048 scalability)(512 Low 1024 Medium to Epic 4096 Cinematic ShadowQuality)(Max square dimensions (in texels) allowed for rendering shadow depths. Range 4 to hardware limit. Higher = better quality shadows, but at a performance cost)
r.Shadow.RadiusThreshold=0 ; (0.01 scalability)(0.06 Low 0.05 Medium 0.04 High 0.01 Epic 0 Cinematic ShadowQuality)(higher than 0 and you cut away certain shadows)(Cull shadow casters if they are too small, value is the minimal screen space bounding spherer radius)
r.Shadow.Virtual.Enable=0 ; (0 constructor)(0 or 1, works with dx12 only, causes low fps temporarily while inventory/menu characters are visible)(Enable Virtual Shadow Maps)
r.ShadowQuality=5 ; (5 scalability)(0 Low 2 Medium 5 High to Cinematic)(Defines the shadow method which allows to adjust for quality or performance)
r.VolumetricRenderTarget=2 ; (1 constructor)(0/1/3 inaccurate, 2 accurate)(Visit a dungeon to see VolumetricClouds in the sky until closing the game)
r.Fog=0 ; (1 constructor)(For Volumetric fog to work enable it)(0: disabled)
r.VolumetricFog=1 ; (1 scalability)(10 fps cost, works only when Fog is also enabled)(0 Low/Medium 1 High/Epic/Cinematic ShadowQuality)(Whether to allow the volumetric fog feature)
r.VolumetricFog.DepthDistributionScale=10 ; (32 constructor)(Scales the slice depth distribution)
r.VolumetricFog.Emissive=1 ; (1 constructor)(Brightness in dungeons when Fog and Volumetric Fog are enabled)(Whether to allow the volumetric fog emissive component)
r.VolumetricFog.GridPixelSize=4 ; (8 scalability)(16 High 8 Epic 4 Cinematic ShadowQuality)(XY Size of a cell in the voxel grid, in pixels)
r.VolumetricFog.GridSizeZ=128 ; (128 scalability)(64 High 128 Epic/Cinematic ShadowQuality)(How many Volumetric Fog cells to use in z)
r.VolumetricFog.HistoryMissSupersampleCount=16 ; (4 scalability)(4 High/Epic 16 Cinematic ShadowQuality)(Number of lighting samples to compute for voxels whose history value is not available)
r.MaxAnisotropy=16 ; (8 scalability)(0 Low 2 Medium 4 High 8 Epic/Cinematic 16 Max TextureQuality)(MaxAnisotropy should range from 1 to 16. Higher values mean better texture quality, when using anisotropic filtering, but at a cost to performance. Default is 4)
r.Streaming.LimitPoolSizeToVRAM=0 ; (1 projectsetting)(1 Low to High 0 Epic/Cinematic TextureQuality)(If non-zero, texture pool size will be limited to how much GPU mem is available)
r.Streaming.MaxEffectiveScreenSize=0 ; (0 scalability)(0 Low to Cinematic TextureQuality)(0: Use current actual vertical screen size)
r.Streaming.MipBias=0 ; (0 scalability)(2.5 Low 1 Medium 0 High/Cinematic TextureQuality)(0..x reduce texture quality for streaming by a floating point number)
r.Streaming.PoolSize=3000 ; (0 project setting)(200 Low 400 Medium 700 High 1000 Epic 3000 Cinematic TextureQuality)(-1: Default texture pool size, otherwise the size in MB)(weird that the engine description is different from the real default value)
r.DynamicGlobalIlluminationMethod=1 ; (0 constructor)(20-30 fps cost)(1=Lumen)(0 - None. Global Illumination can be baked into Lightmaps, but no technique will be used for Dynamic Global Illumination)
r.ReflectionMethod=1 ; (2 constructor)(1=Lumen)(0 - None. Reflections can come from placed Reflection Captures, Planar Reflections and Skylight, but no global reflection method will be used)
r.Lumen.TranslucencyReflections.FrontLayer.Enable=1 ; (0 scalability)(Whether to render Lumen Reflections on the fronmost layer of Translucent Surfaces. Other layers will use the lower quality Radiance Cache method that can only produce glossy reflections)
r.Lumen.DiffuseIndirect.AsyncCompute=1 ; (0 constructor)(Whether to run lumen diffuse indirect passes on the compute pipe if possible)
r.Lumen.DiffuseIndirect.MinTraceDistance=400 ; (0 constructor)(inside will be brighter)
r.Lumen.DiffuseIndirect.SurfaceBias=5 ; (5 constructor)(inside will be brighter)
r.Lumen.DiffuseIndirect.SSAO=1 ; (0 constructor)(Whether to render and apply SSAO to Lumen GI, only when r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal is disabled. This is useful for providing short range occlusion when Lumen's Screen Bent Normal is disabled due to scalability, however SSAO settings like screen radius come from the user)
r.Lumen.Reflections.BilateralFilter=0 ; (1 constructor)(Whether to do a bilateral filter as a last step in denoising Lumen Reflections)
r.Lumen.Reflections.DownsampleFactor=1 ; (1 scalability)(Going above 1 too much noise, 0 demanding)(No description)
r.Lumen.Reflections.GGXSamplingBias=1 ; (0.1 constructor)(Seems to make transparent object inside reflective side reflect stuff properly instead of being blurry)(No description)
r.Lumen.Reflections.MaxRoughnessToTrace=0.5 ; (0.4 constructor)(No description)
r.Lumen.Reflections.SmoothBias=1 ; (0 constructor)(Values larger than 0 apply a global material roughness bias for Lumen Reflections, where 1 is fully mirror)
r.Lumen.ScreenProbeGather.DownsampleFactor=16 ; (16 scalability)(higher number causes shadows to slightly pulse when moving around)(8=Cinematic, can be very demanding going lower number)(Pixel size of the screen tile that a screen probe will be placed on)
r.Lumen.ScreenProbeGather.MaxRoughnessToEvaluateRoughSpecular=1 ; (0.8 constructor)(Maximum roughness value to evaluate rough specular in Screen Probe Gather. Lower values reduce GPU cost of integration, but also lose rough specular)
r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal=0 ; (1 scalability)(Whether to compute screen space direction occlusion to add high frequency occlusion (contact shadows) which Screen Probes lack due to downsampling)
r.Lumen.ScreenProbeGather.Temporal.MaxFramesAccumulated=30 ; (10 constructor)(Lower values cause the temporal filter to propagate lighting changes faster, but also increase filckering from noise)
r.Lumen.ScreenProbeGather.Temporal.RelativeSpeedDifferenceToConsiderLightingMoving=0 ; (0.005 constructor)(no description)
r.Lumen.ScreenProbeGather.TemporalFilterProbes=1 ; (0 constructor)(Whether to temporally filter probe traces to reduce noise)
r.Lumen.ScreenProbeGather.TwoSidedFoliageBackfaceDiffuse=1 ; (1 scalability)(Whether to gather lighting along the backface for the Two Sided Foliage shading model, which adds some GPU cost. The final lighting is then DiffuseColor * FrontfaceLighting + SusurfaceColor * BackfaceLighting. When disabled, SubsurfaceColor will simply be added to D...)(can't see more of the description)
r.Lumen.TraceDistanceScale=5 ; (1 constructor)(1 is enough for land shadows, but water reflections need 4-5)(Scales the tracing distance for all tracing methods and Lumen Features, used by scalability)
[/script/engine.localplayer]
AspectRatioAxisConstraint=AspectRatio_MaintainYFOV
I have an annoying light effect, can you tell me what settings to deactivate to remove this effect? Please
https://ibb.co/LnH4sm3
r.DefaultFeature.LensFlare=0
Change the value if you use the main version or the virtual shadows version. Or download the version without fog and lensflare.Your settings are really great compared to others of the same kind, thank you for your work.
I'd like to ask you another little favor. In this image, you can see dots on the window sills, in fact these dots sparkle, and I'd like to know what setting does this effect. I tested it with my old file, which came from DECENT, and I didn't get this effect.I much prefer your settings, and I'd like to point out that your settings are far superior and well mastered.
Thanks for your help
https://ibb.co/MVdMLBf
r.Lumen.Reflections.MaxRoughnessToTrace=0.5
r.Lumen.ScreenProbeGather.MaxRoughnessToEvaluateRoughSpecular=1
in 0.1 increments, lowering it, well first you can try 0, to see if it has an effectmind you're messing with reflective surfaces, so go check out those non translucent mirrors too, in terms if you lower the roughness value too much
If you wanna try messing with it realtime, get the dxgi file from here, just that, and put it next to the game exe file
https://fearlessrevolution.com/viewtopic.php?t=27405 (ignore the browser warning, it's just a falepositive, most companies try actively to curb stomp cheatengine)
When you're doing it through console, use space instead of =
https://forums.unrealengine.com/t/ue-4-26-ocean-distance-rendering/475516
Sadly fog doesn't hide too, after testing.
If it's in the vanilla, you can just report it and just hope the devs fix it, it's fixable if you have the project files, or something like UE4SS.
Sadly the game doesn't recognize any of the other commands, and only can adjust if lensflare is on or off, and what resolution it's at.
https://docs.unrealengine.com/5.3/en-US/post-process-effects-in-unreal-engine/
That reminds me to recheck the project setting files, to see if I can even alter them in the game, in Lords of the Fallen, devs put Lumen into project settings, so you can't even change to screenspace with DGIM or RM, but only disable lumen with other settings, albeit wouldn't want that, but rather annoying when devs lock certain settings, and you have to use some third party apps to do extra customization, but you can't save that customization without those apps.
If that doesn't work ya, tell me.
I had it forced on before, but some peep complained that it's stupid to enable it. I call it a personal preference, but just deleted that part that was useful for me, I can have it enabled regardless anyway. Imo if anybody uses DLSS, TSR is the best AA option to be used, anything else is worse. If they don't use DLSS, then yeah TSR is too demanding.
Could you please elaborate, water reflections? normal surface reflections? transparent surface reflections?
And what stuff being reflected? Because you can't reflect dynamic objects that aren't rendered on the screen, thus you can only see your own character reflection and etc. similar stuff in side reflections, because it's already being rendered, so it's just duplicates that, need raytracing to get info about what isn't being rendered.
At the moment we only get either no reflections, screen space reflections or lumen reflections, all of it works with dx11 the same way as in dx12.
So we can get reflections of stuff that is at an angle, but not straight in front, reflections at least understand not to reflect, unlike Divison 2, where it reflects both your character's back and front and is just a blurry mush.
https://www.nexusmods.com/palworld/mods/242?tab=posts
I dismantled everything regarding the engine.ini.
https://youtube.com/live/yWtZ3f1jeus
He is using somewhat lower values for some stuff or just basic vanilla settings.
Think the only thing he mostly does to get those screenshots is just reshade.
So you could just try using my engine.ini mod, maybe add stuff that he uses and that I don't use, and then add on top of it the reshade.
Here is is a list of everything that actually do anything differently, but only with epic settings (maybe some do on lower settings).
(Valid command and that are different from default values)
r.AmbientOcclusionLevels=2 ; (-1 scalability)(you used 3 and 2 duplicates, 2 was lower row, so that was enabled)
r.AmbientOcclusion.Method=1 ; (0 constructor)(1 is disabled, levels only works with method=0)
r.BloomQuality=4 ; (5 scalability)
r.DefaultFeature.LightUnits=2 ; (1 constructor)
r.EyeAdaptation.MethodOverride=2 ; (-1 constructor)
r.EyeAdaptation.ExponentialTransitionDistance=10 ; (1.5 constructor)
r.SkeletalMeshLODBias=-2 ; (0 scalability)
r.SkylightIntensityMultiplier=2.5 ; (1 constructor)(2.5x brighter than normally)
r.VolumetricFog=0 ; (1 scalability)(0 disables reflections through fogs, plus dungeons look different)
r.VolumetricRenderTarget.Mode=1 ; (0 constructor)
r.Water.SingleLayer.RefractionDownsampleFactor=2 ; (1 constructor)
r.Water.SingleLayer.SSR=0 ; (1 constructor)(1 works yeah only if screenspace is used instead of lumen)
r.ReflectionMethod=1 ; (2 constructor)(1 lumen if lumen is enabled from DGIM and LumenDiffuse is allowed, otherwise 1 does the same as 2 aka screenspace reflections)
r.ReflectionCaptureSupersampleFactor=4 ; (1 constructor)
r.Reflections.Denoiser=1 ; (2 constructor)
r.DynamicGlobalIlluminationMethod=1 ; (0 constructor)(1 lumen, 2 screenspace)
r.LumenScene.Radiosity.SpatialFilterProbes.KernelSize=0.1 ; (1 constructor)(converts 0.1 increments to 0, 1.982471 to 1 and so on.)
r.Lumen.DiffuseIndirect.SSAO=1 ; (0 constructor)(1 works only if r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal=0)
r.Lumen.Reflections.DownsampleFactor=2 ; (1 scalability)(0 was demanding I think, 1 is best, 2+ causes jitter)
r.Lumen.Reflections.GGXSamplingBias=0.3 ; (0.1 constructor)(1 is better if lumen roughness is high enough up to 1)
r.Lumen.Reflections.HierarchicalScreenTraces.MaxIterations=64 ; (50 constructor)
r.Lumen.Reflections.ScreenSpaceReconstruction.KernelRadius=1 ; (8 constructor)
r.Lumen.Reflections.SmoothBias=0.5 ; (0 constructor)(1 is full mirror in terms of clarity)
r.Lumen.ScreenProbeGather.AdaptiveProbeAllocationFraction=1 ; (0.5 constructor)
r.Lumen.ScreenProbeGather.IrradianceFormat=1 ; (0 scalability)
r.Lumen.ScreenProbeGather.RadianceCache.ProbeResolution=16 ; (32 scalability)
r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal=0 ; (1 scalability)(1 disables lumen ssao)
r.Lumen.ScreenProbeGather.SpatialFilterMaxRadianceHitAngle=60 ; (10 constructor)
r.Lumen.ScreenProbeGather.SpatialFilterNumPasses=2 ; (3 constructor)
r.Lumen.ScreenProbeGather.TemporalFilterProbes=1 ; (0 constructor)
r.Lumen.ScreenProbeGather.Temporal.MaxFramesAccumulated=16 ; (10 constructor)(30 is pretty good, 10 isn't really enough, going lower causes flickering shadows, among many other temporal settings, you can see max flickering if r.Lumen.ScreenProbeGather.Temporal=0, anyway higher values can cause more ghosting, most other settings cause more ghosting than this value)
r.Lumen.TranslucencyReflections.FrontLayer.Enable=1 ; (0 scalability)(enables crystal clear reflections on transcluscent objects)
r.Lumen.TranslucencyVolume.GridPixelSize=64 ; (32 scalability)
r.LumenScene.DirectLighting.UpdateFactor=32 ; (16 constructor)
r.LumenScene.DistantScene=1 ; (0 constructor)(1 no idea if it even works)
r.LumenScene.FarField=1 ; (0 constructor)(1 no idea if it even works)
r.LumenScene.Heightfield.MaxTracingSteps=1 ; (32 constructor)
r.LumenScene.Radiosity.MaxRayIntensity=400 ; (40 constructor)(no point going higher)
r.LumenScene.Radiosity.MinTraceDistanceToSampleSurface=1 ; (10 constructor)
r.LumenScene.Radiosity.ProbeSpacing=8 ; (4 scalability)
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
[SystemSettings]
(Command not recognized)
grass.LODDistanceScale=1
r.CastRayTracedShadow=2
r.FogDensity=1
r.GlobalIllumination.ExperimentalPlugin=true
r.Lumen=1
r.LumenRayLightingModeOverride=2
r.Lumen.Reflections.Contrast=1
r.Lumen.Reflections.MaxRoughnessToTraceForFoliage=0.2
r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.FullResDepth=0
r.Lumen.ScreenProbeGather.ShortRangeAO=1
r.Lumen.ScreenProbeGather.ShortRangeAO.HardwareRayTracing=1
r.Lumen.TranslucencyReflections.Enable=1
r.RayTracing.Enable=1
r.RayTracing.AmbientOcclusion.Intensity=2
r.RayTracing.Geometry.SplineMeshes=1
r.RayTracing.GlobalIlluminationType=1
r.ReflectedAndRefractedRayTracedShadows=2
r.ReflectedAndRefractedRayTracedShadows=2 ; also a duplicate of an invalid command
(Missing other commands to make use of it)
r.LensFlareQuality=3 ; (2 scalability)(needs r.DefaultFeature.LensFlare=1 to do anything)
r.SceneColorFringeQuality=1 ; (1 scalability)(r.SceneColorFringe.Max needs to be -2, aka chromatic aberration needs to be enabled)
r.Water.SingleLayer.RTR=1 ; (1 constructor)
r.Lumen.HardwareRayTracing=1 ; (0 constructor)
r.Lumen.Reflections.HardwareRayTracing=1 ; (1 constructor)
r.Lumen.TranslucencyVolume.RadianceCache=1 ; (1 constructor)
r.Lumen.TranslucencyVolume.RadianceCache.ProbeResolution=8 ; (8 scalability)
r.Lumen.TranslucencyVolume.RadianceCache.NumProbesToTraceBudget=200 ; (200 scalability)
r.RayTracing.EnableInGame=1 ; (1 constructor)
r.RayTracing.ForceAllRayTracingEffects=1 ; (-1 constructor)
r.RayTracing.AmbientOcclusion=1 ; (-1 constructor)
r.RayTracing.Geometry.NaniteProxies=1 ; (1 constructor)
r.RayTracing.Geometry.NiagaraMeshes=1 ; (1 constructor)
r.RayTracing.Geometry.NiagaraRibbons=1 ; (1 constructor)
r.RayTracing.Geometry.NiagaraSprites=1 ; (1 constructor)
r.RayTracing.Geometry.ProceduralMeshes=1 ; (1 constructor)
r.RayTracing.Geometry.SkeletalMeshes=1 ; (1 constructor)
r.RayTracing.Geometry.StaticMeshes=1 ; (1 constructor)
r.RayTracing.GlobalIllumination=1 ; (-1 constructor)
r.RayTracing.GlobalIllumination.Denoiser=1 ; (1 constructor)
r.RayTracing.GlobalIllumination.EnableTransmission=1 ; (1 constructor)
r.RayTracing.GlobalIllumination.EnableTwoSidedGeometry=1 ; (1 constructor)
r.RayTracing.GlobalIllumination.EvalSkyLight=1 ; (0 constructor)
r.RayTracing.GlobalIllumination.FinalGather.Distance=100 ; (10 constructor)
r.RayTracing.GlobalIllumination.FinalGather.Iterations=1 ; (1 constructor)
r.RayTracing.GlobalIllumination.FinalGather.SortMaterials=1 ; (1 constructor)
r.RayTracing.GlobalIllumination.FinalGather.SortSize=5 ; (5 constructor)
r.RayTracing.GlobalIllumination.FinalGather.SortTileSize=64 ; (64 constructor)
r.RayTracing.GlobalIllumination.FireflySuppression=1 ; (0 constructor)
r.RayTracing.GlobalIllumination.Lights.DirectionalLight=1 ; (1 constructor)
r.RayTracing.GlobalIllumination.Lights.PointLight=1 ; (1 constructor)
r.RayTracing.GlobalIllumination.Lights.RectLight=1 ; (1 constructor)
r.RayTracing.GlobalIllumination.Lights.SkyLight=1 ; (1 constructor)
r.RayTracing.GlobalIllumination.Lights.SpotLight=1 ; (1 constructor)
r.RayTracing.GlobalIllumination.MaxBounces=1 ; (-1 constructor)
r.RayTracing.GlobalIllumination.MaxLightCount=16 ; (256 constructor)
r.RayTracing.GlobalIllumination.MaxRayDistance=10000 ; (99999998848415475373494528 constructor)(that some weird default value)
r.RayTracing.GlobalIllumination.MaxShadowDistance=1000 ; (-1 constructor)
r.RayTracing.GlobalIllumination.NextEventEstimationSamples=1 ; (2 constructor)
r.RayTracing.GlobalIllumination.RenderTileSize=64 ; (0 constructor)
r.RayTracing.GlobalIllumination.SamplesPerPixel=1 ; (-1 constructor)
r.RayTracing.GlobalIllumination.ScreenPercentage=25 ; (50 constructor)
r.RayTracing.GlobalIllumination.UseRussianRoulette=1 ; (0 constructor)
r.RayTracing.Reflections=1 ; (-1 constructor)
r.RayTracing.Reflections.DirectLighting=1 ; (1 constructor)
r.RayTracing.Reflections.EnableTwoSidedGeometry=1 ; (1 constructor)
r.RayTracing.Reflections.ExperimentalDeferred=1 ; (0 constructor)
r.RayTracing.Reflections.ExperimentalDeferred.AnyHitMaxRoughness=0.1 ; (0.1 constructor)
r.RayTracing.Reflections.ExperimentalDeferred.HorizontalResolutionScale=0.5 ; (1 constructor)
r.RayTracing.Reflections.ExperimentalDeferred.MipBias=1 ; (0 constructor)
r.RayTracing.Reflections.ExperimentalDeferred.SpatialResolve=1 ; (1 constructor)
r.RayTracing.Reflections.ExperimentalDeferred.SpatialResolve.MaxRadius=8 ; (8 constructor)
r.RayTracing.Reflections.ExperimentalDeferred.SpatialResolve.NumSamples=8 ; (8 constructor)
r.RayTracing.Reflections.ExperimentalDeferred.SpatialResolve.TemporalQuality=1 ; (2 constructor)
r.RayTracing.Reflections.ExperimentalDeferred.SpatialResolve.TemporalWeight=0.5 ; (0.95 constructor)
r.RayTracing.Reflections.HeightFog=1 ; (1 constructor)
r.RayTracing.Reflections.Hybrid=1 ; (0 constructor)
r.RayTracing.Reflections.MaxBounces=1 ; (-1 constructor)
r.RayTracing.Reflections.MaxRayDistance=50000 ; (-1 constructor)
r.RayTracing.Reflections.MaxRoughness=0.4 ; (-1 constructor)
r.RayTracing.Reflections.RayTraceSkyLightContribution=1 ; (0 constructor)
r.RayTracing.Reflections.ReflectionCaptures=1 ; (0 constructor)
r.RayTracing.Reflections.RenderTileSize=64 ; (0 constructor)
r.RayTracing.Reflections.SamplesPerPixel=1 ; (-1 constructor)
r.RayTracing.Reflections.ScreenPercentage=100 ; (100 constructor)
r.RayTracing.Reflections.Shadows=1 ; (-1 constructor)
r.RayTracing.Reflections.SortMaterials=1 ; (1 constructor)
r.RayTracing.Reflections.SortTileSize=64 ; (64 constructor)
r.RayTracing.Reflections.TestPathRoughness=1 ; (1 constructor)
r.RayTracing.Reflections.Translucency=1 ; (-1 constructor)
r.RayTracing.Shadows.Lights.Directional=1 ; (1 constructor)
r.RayTracing.Shadows.Lights.Point=1 ; (1 constructor)
r.RayTracing.Shadows.Lights.Spot=1 ; (1 constructor)
r.RayTracing.SkyLight.DecoupleSampleGeneration=0 ; (1 constructor)
r.RayTracing.SkyLight.Denoiser=1 ; (1 constructor)
r.RayTracing.SkyLight.EnableMaterials=1 ; (1 constructor)
r.RayTracing.SkyLight.EnableTwoSidedGeometry=1 ; (1 constructor)
r.RayTracing.SkyLight.HairVoxel=1 ; (1 constructor)
r.RayTracing.SkyLight.MaxRayDistance=6000 ; (10000000 constructor)
r.RayTracing.SkyLight.MaxShadowThickness=1000 ; (1000 constructor)
r.RayTracing.SkyLight.SamplesPerPixel=64 ; (-1 constructor)
r.RayTracing.SkyLight.ScreenPercentage=50 ; (100 constructor)
r.RayTracing.Translucency=1 ; (-1 constructor)
r.RayTracing.Translucency.HeightFog=1 ; (1 constructor)
r.RayTracing.Translucency.Refraction=1 ; (-1 constructor)
r.RayTracing.Translucency.Shadows=2 ; (-1 constructor)
(Duplicate commands and/or bottom one overwrites the higher one)
r.AmbientOcclusionLevels=3
r.AmbientOcclusionMaxQuality=26
r.AmbientOcclusion.Method=1
r.RayTracing.Reflections.HeightFog=1 ; and missing another command for it to do anything
(Different real value)
r.LumenScene.Radiosity.SpatialFilterProbes.KernelSize=0.1 ; (1 constructor)(converts 0.1 increments to 0, 1.982471 to 1 and so on.)
r.SceneColorFringe.Max=0.5 ; (-1 constructor)(-2 enables chromatic aberration, the rest disable it, -1 should do something, but don't see any change)
(Same as constructor/default, doesn't matter what settings you change in the game)
grass.CullDistanceScale=1 ; (1 constructor)
grass.DisableDynamicShadows=0 ; (0 constructor)
r.DefaultFeature.AmbientOcclusion=1 ; (1 constructor)
r.DistanceFields=1 ; (1 constructor)
r.Fog=1 ; (1 constructor)
r.GenerateMeshDistanceFields=1 ; (1 projectsetting)(not sure where it's reading from in vanilla, prolly some other ini file)
r.SkyLightingQuality=1 ; (1 constructor)
r.Water.SingleLayer=1 ; (1 constructor)
r.Water.SingleLayer.LumenReflections=1 ; (1 constructor)
r.Water.SingleLayer.Reflection=1 ; (1 constructor)
r.ReflectionCaptureResolution=128 ; (128 constructor)
r.ReflectionEnvironmentLightmapMixBasedOnRoughness=1 ; (1 constructor)
r.GlobalIllumination.Denoiser.PreConvolution=1 ; (1 constructor)
r.Lumen.Reflections.BilateralFilter=1 ; (1 constructor)
r.Lumen.Reflections.MaxRoughnessToTrace=0.4 ; (0.4 constructor)
r.Lumen.Reflections.Temporal=1 ; (1 constructor)
r.Lumen.ScreenProbeGather=1 ; (1 constructor)
r.Lumen.ScreenProbeGather.ImportanceSample=1 ; (1 contructor)
r.Lumen.TraceMeshSDFs=1 ; (1 constructor)
r.LumenScene.DirectLighting.VirtualShadowMap=1 ; (1 constructor)
r.LumenScene.Radiosity.UpdateFactor=64 ; (64 constructor)
(Same as epic quality can be also on lower quality)
grass.DensityScale=1 ; (1 scalability)
r.AmbientOcclusionMaxQuality=100 ; (100 scalability)(you used 26 and 100, 100 was lower row, so that was enabled)
r.AmbientOcclusionMipLevelFactor=0.4 ; (0.4 scalability)
r.AmbientOcclusionRadiusScale=1 ; (1 scalability)
r.AOQuality=2 ; (2 scalability)
r.DepthOfFieldQuality=2 ; (2 scalability)
r.DistanceFieldAO=1 ; (1 scalability)
r.EyeAdaptationQuality=2 ; (2 scalability)
r.ViewDistanceScale=1 ; (1 scalability)
r.Lumen.DiffuseIndirect.Allow=1 ; (1 scalability)
r.Lumen.Reflections.Allow=1 ; (1 scalability)
r.Lumen.ScreenProbeGather.DownsampleFactor=16 ; (16 scalability)
r.Lumen.ScreenProbeGather.RadianceCache.NumProbesToTraceBudget=300 ; (300 scalability)
r.Lumen.ScreenProbeGather.TracingOctahedronResolution=8 ; (8 scalability)
r.Lumen.ScreenProbeGather.TwoSidedFoliageBackfaceDiffuse=1 ; (1 scalability)
r.Lumen.TraceMeshSDFs.Allow=1 ; (1 scalability)
r.Lumen.TranslucencyReflections.FrontLayer.Allow=1 ; (1 scalability)
r.Lumen.TranslucencyVolume.TracingOctahedronResolution=3 ; (3 scalability)
r.LumenScene.Radiosity.HemisphereProbeResolution=4 ; (4 scalability)
r.LumenScene.SurfaceCache.CardCaptureRefreshFraction=0.125 ; (0.125 scalability)
(Valid command and that are different from default values)
r.AmbientOcclusionLevels=2 ; (-1 scalability)(you used 3 and 2 duplicates, 2 was lower row, so that was enabled)
r.AmbientOcclusion.Method=1 ; (0 constructor)(1 is disabled, levels only works with method=0)
r.BloomQuality=4 ; (5 scalability)
r.DefaultFeature.LightUnits=2 ; (1 constructor)
r.EyeAdaptation.MethodOverride=2 ; (-1 constructor)
r.EyeAdaptation.ExponentialTransitionDistance=10 ; (1.5 constructor)
r.SkeletalMeshLODBias=-2 ; (0 scalability)
r.SkylightIntensityMultiplier=2.5 ; (1 constructor)(2.5x brighter than normally)
r.VolumetricFog=0 ; (1 scalability)(0 disables reflections through fogs, plus dungeons look different)
r.VolumetricRenderTarget.Mode=1 ; (0 constructor)
r.Water.SingleLayer.RefractionDownsampleFactor=2 ; (1 constructor)
r.Water.SingleLayer.SSR=0 ; (1 constructor)(1 works yeah only if screenspace is used instead of lumen)
r.ReflectionMethod=1 ; (2 constructor)(1 lumen if lumen is enabled from DGIM and LumenDiffuse is allowed, otherwise 1 does the same as 2 aka screenspace reflections)
r.ReflectionCaptureSupersampleFactor=4 ; (1 constructor)
r.Reflections.Denoiser=1 ; (2 constructor)
r.DynamicGlobalIlluminationMethod=1 ; (0 constructor)(1 lumen, 2 screenspace)
r.LumenScene.Radiosity.SpatialFilterProbes.KernelSize=0.1 ; (1 constructor)(converts 0.1 increments to 0, 1.982471 to 1 and so on.)
r.Lumen.DiffuseIndirect.SSAO=1 ; (0 constructor)(1 works only if r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal=0)
r.Lumen.Reflections.DownsampleFactor=2 ; (1 scalability)(0 was demanding I think, 1 is best, 2+ causes jitter)
r.Lumen.Reflections.GGXSamplingBias=0.3 ; (0.1 constructor)(1 is better if lumen roughness is high enough up to 1)
r.Lumen.Reflections.HierarchicalScreenTraces.MaxIterations=64 ; (50 constructor)
r.Lumen.Reflections.ScreenSpaceReconstruction.KernelRadius=1 ; (8 constructor)
r.Lumen.Reflections.SmoothBias=0.5 ; (0 constructor)(1 is full mirror in terms of clarity)
r.Lumen.ScreenProbeGather.AdaptiveProbeAllocationFraction=1 ; (0.5 constructor)
r.Lumen.ScreenProbeGather.IrradianceFormat=1 ; (0 scalability)
r.Lumen.ScreenProbeGather.RadianceCache.ProbeResolution=16 ; (32 scalability)
r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal=0 ; (1 scalability)(1 disables lumen ssao)
r.Lumen.ScreenProbeGather.SpatialFilterMaxRadianceHitAngle=60 ; (10 constructor)
r.Lumen.ScreenProbeGather.SpatialFilterNumPasses=2 ; (3 constructor)
r.Lumen.ScreenProbeGather.TemporalFilterProbes=1 ; (0 constructor)
r.Lumen.ScreenProbeGather.Temporal.MaxFramesAccumulated=16 ; (10 constructor)(30 is pretty good, 10 isn't really enough, going lower causes flickering shadows, among many other temporal settings, you can see max flickering if r.Lumen.ScreenProbeGather.Temporal=0, anyway higher values can cause more ghosting, most other settings cause more ghosting than this value)
r.Lumen.TranslucencyReflections.FrontLayer.Enable=1 ; (0 scalability)(enables crystal clear reflections on transcluscent objects)
r.Lumen.TranslucencyVolume.GridPixelSize=64 ; (32 scalability)
r.LumenScene.DirectLighting.UpdateFactor=32 ; (16 constructor)
r.LumenScene.DistantScene=1 ; (0 constructor)(1 no idea if it even works)
r.LumenScene.FarField=1 ; (0 constructor)(1 no idea if it even works)
r.LumenScene.Heightfield.MaxTracingSteps=1 ; (32 constructor)
r.LumenScene.Radiosity.MaxRayIntensity=400 ; (40 constructor)(no point going higher)
r.LumenScene.Radiosity.MinTraceDistanceToSampleSurface=1 ; (10 constructor)
r.LumenScene.Radiosity.ProbeSpacing=8 ; (4 scalability)
You can also turn off the translucent reflections separately, and also turning off just lumen reflections will turn them off everywhere.
I'm assuming you're on nvidia and use dlss.
Wonder though how amd users fare with this.
Thanks again for the mod :)
You can just delete the antialiaisingmethod, if you don't like it.
I'll just make an optional one that doesn't force AA, seems you don't use DLSS.
When I get some new visual feature working, aka when I make a new version, I'll make the no aa as the main thing, I can have tsr enabled in gameusersettings anyway separately.
Also, everything here is graphics related. Most just don't change anything performance wise, plus I listed what are the most performance demanding settings.
I prolly could curb some out if you know what it does in the game and that if I agree with that, after testing it out myself. Like some async stuff and pool stuff I don't really care about, I just took them from unreal engine 5.3 homepage showing scalability settings and what the epic quality settings used (well those you can see in the description and where I listed low to cinametic values), and checked somewhere else what cinematic quality was for it, sometimes found few things that had conflicting values or some values changed its range lower or higher.
Some settings, even if they are at default value (being identical to constructor value), I kept just in case someone wants to mess with 'em.
Add this to the ini and it should solve it:
r.Water.SingleLayer.DepthPrepass=1
Or, can anyone post a pic of what he means. I didn't see any difference in it being enabled or not for shadows on water.
Also, the only thing we're enabling here is Lumen without raytracing. If it was raytraced then reflections would work, not only from the side angle, where it reflects what you see on the screen, raytracing allows us to see what isn't being rendered on the screen. Also, to enable lumen, you only need dx11. To enable any raytracing feature, you first need to enable dx12 and then r.RayTracing, the latter at the moment, only results in a crash because devs didn't add a shader into the build. So we just get diffuseindirect from lumen, the moment you disable diffuse it's the same as disabling lumen dynamic global illumination method.
At the moment, lumen reflections work exactly the same way as Screenspace reflections, but worse, albeit we can use translucent reflections too, which is better than screenspace.
Also, the default settings change depending on your scalability settings in gameusersettings. On that department, I can say all values are 3 there, but every one of them changes multiple other default r. values.
Would need to do double testing basically, I only tested 1 by one while everything was in use.
Would need to test while nothing is modified and change something 1 by 1.
If you want more performance, increase mipmap value. I already increased it by 2, from what I had before, it was -1 before.
You can also delete everything related to shadows and/or lumen alongside with reflections.
You can delete or lower
grass.densityScale
r.ShadowQuality
r.ViewDistanceScale
r.Shadow.DistanceScale
Delete or increase
r.MipMapLODBias
Sad, thought maybe I could just check all of 'em one by one with the epic settings.
Just enter the command without a value. Sometimes can't see the text, so need to enter the comman 2x.
r.RayTracing shows me r.RayTracing = "0" LastSetBy: Constructor
So guess at some point in time will add that info into the description.
edit: added with 0.22