Palworld – Max Graphics

Engine.ini modifications. Has also lumen reflections, sadly no idea how to reflect characters, their shadows are being though reflected.


Find the engine.ini in:

  • Users\username\AppData\Local\Pal\Saved\Config\Windows

(No idea if it’s the same for microsoft store app Palworld players).

Copy and paste in the text from below.

No need to make the file readme only, also if you don’t make it readme only, if you overwrote the autogenerated stuff in the engine.ini file, those will be regenerated by the game.


foliage.DitheredLOD=1 ; (If greater than zero, dithered LOD is used, otherwise popping LOD is used)
foliage.LODDistanceScale=1 ; (best 1-10, can be very demanding)(Scale factor for the distance used in computing LOD for foliage)
grass.densityScale=3 ; (Can be very demanding)(Multiplier on all grass densities)
r.AllowGlobalClipPlane=1 ; (Enables mesh shaders to support a global clip plane, needed for panaer reflections, which adds about 15% BasePass GPU cost on PS4)
r.AllowLandscapeShadows=1 ; (Allow Landscape Shadows)
r.AmbientOcclusionLevels=2 ; (Defines how many mip level are using during ambient occlusion calculation. This is useful when tweaking the algorithm)
r.AmbientOcclusionMaxQuality=100 ; (Defines the max clamping value from the post process volume's quality level for ScreenSpace Ambient Occlusion)
r.AmbientOcclusionMipLevelFactor=0 ; (Controls mipmap level according to the SSAO step id)
r.AmbientOcclusionRadiusScale=1 ; (Allows to scale the ambient occlusion radius (SSAO))
r.AmbientOcclusionStaticFraction=1 ; (Allows to override the Ambient Occlusion Static Faction (see post process volume). Factions are between 0 and 1)
r.BloomQuality=5 ; (0-5 affects also lensflare the same way)(0:off, no performance impact)
r.Color.Max=1.0 ; (Allows to define where the value 1.0 in the color channels is mapped to after color grading)
r.Color.Mid=0.5 ; (Allows to define where the value 0.5 in the color channels is mapped to after color grading (This is similar to a gamma correctio
r.Color.Min=0 ; (Allows to define where the value 0 in the color channels is mapped to after color grading)
r.ContactShadows=1 ; (0: disabled)
r.CreateShadersOnLoad=1 ; (Whether to create shaders on load, which can reduce hitching, but use more memory. Otherwise they will be created as needed)
r.CustomDepth=0.5 ; (0: feature is disabled)
r.DefaultFeature.AmbientOcclusion=1 ; (Engine default (project setting) for AmbientOcclusion is (postprocess volume/camera/game setting still can override)
r.DefaultFeature.AmbientOcclusionStaticFraction=1 ; (Engine default (project setting) for AmbientOcclusion is (postprocess volume/camera/game setting still can override)
r.DepthOfFieldQuality=6 ; (Allows to adjust the depth of field quality. Currently only fully affects BokehDOF. GaussianDOF is either 0 for off, otherwise on)
r.DetailMode=3 ; (Current detail mode; determines whether components of actors should be updated/ticked)
r.DFDistanceScale=10 ; (Factor to scale directional light property 'DistanceField Shadows Distance', clamped to [0.0001, 10000])
r.DFFullResolution=1 ; (1 = full resolution distance field shadowing, 0 = half resolution with bilateral upsample)
r.DFShadowQuality=3 ; (Defines the distance field shadow method which allows to adjust for quality or performance)
r.DynamicGlobalIlluminationMethod=1 ; (0 - None. Global Illumination can be baked into Lightmaps, but no technique will be used for Dynamic Global Illumination)
r.Emitter.FastPoolEnable=1 ; (Should we use fast pools for emitters.) (weird description)
r.EyeAdaptationQuality=2 ; (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.Filter.SizeScale=2 ; (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.Fog=1 ; (0: disabled)
r.ForceHighestMipOnUITextures=1 ; (If set to 1, textures in the UI Group will have their highest mip level forced)
r.GBufferFormat=4 ; (Defines the memory layout used for the GBuffer)
r.HighQualityLightMaps=1 ; (If set to 1, allow high quality lightmaps which don't bake in direct lighting of stationary lights)
r.HZBOcclusion=1 ; (Defines which occlusion system is used)
r.LandscapeLOD0DistributionScale=4 ; (Multiplier for the landscape LOD0DistributionSetting property)
r.LandscapeLODDistributionScale=4 ; (Multiplier for the landscape LODDistributionSetting property)
r.DefaultFeature.LensFlare=1 ; (Engine default (project setting) for LensFlare is (postprocess volume/camera/game setting still can override)
r.LensFlareQuality=3 ; (3 is highest quality)(0: off but best for performance)
r.LightFunctionQuality=1 ; (Defines the light function quality which allows to adjust for quality or performance)
r.LightMaxDrawDistanceScale=3 ; (Scale applied to the MaxDrawDistance of light. Useful for fading out local lights more aggressively on some platforms.)
r.Lumen.DiffuseIndirect.SSAO=1 ; (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)(not sure if the description continues or ends)
r.Lumen.HardwareRaytracing=1 ; (Uses Hardware Ray Tracing for Lumen features, when available)
r.Lumen.Reflections.Allow=1 ; (Whether to allow Lumen Reflections. Lumen Reflections is enabled in the project settings, this cvar can only disable it)
r.Lumen.Reflections.BilateralFilter=1 ; (Whether to do a bilateral filter as a last step in denoising Lumen Reflections)
r.Lumen.Reflections.DownsampleFactor=2 ; (No description)
r.Lumen.Reflections.HardwareRayTracing=1 ; (Enables hardware ray tracing for Lumen reflections (Default = 1))
r.Lumen.Reflections.MaxRoughnessToTrace=0.4 ; (No description)
r.Lumen.Reflections.ScreenSpaceReconstruction.KernelRadius=1 ; (Screen space reflection filter kernel radius in pixels)
r.Lumen.Reflections.SmoothBias=1 ; (Values larger than 0 apply a global material roughness bias for Lumen Reflections, where 1 is fully mirror)
r.Lumen.Reflections.Temporal=1 ; (Whether to use a temporal filter)
r.Lumen.ScreenProbeGather.DownsampleFactor=32 ; (Pixel size of the screen tile that a screen probe will be placed on)
r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal=0 ; (Whether to compute screen space direction occlusion to add high frequency occlusion (contact shadows) which Screen Probes lack due to downsampling)
r.MaterialQualityLevel=3 ; (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.MipMapLODBias=-1 ; (Can be very demanding, the lower you go)(Apply additional mip map bias for all 2d textures, range of -15.0 to 15.0)
r.MaxAnisotropy=16 ; (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.Nanite=1 ; (Render static meshes using Nanite)
r.Nanite.MaxCandidateClusters=12582912 ; (Maximum number of Nanite clusters before cluster culling)
r.Nanite.MaxPixelsPerEdge=2 ; (no description, but is listed)
r.Nanite.MaxVisibleClusters=6291456 ; (Maximum number of visible Nanite clusters)
r.Nanite.ProjectEnabled=1 ; (This setting allows you to disable Nanite on platforms that support it to reduce the number of shaders. It cannot be used to force Nanite on unsupported platforms)
r.Nanite.ProxyRenderMode=2 ; (Render proxy meshes if Nanite is unsupported. 0: Fall back to rendering Nanite proxy meshes if Nanite is unsupported. (default) 1:Disable rendering if Nanite is enabled on a mesh but is unsupported. 2: Disable rendering if Nanite is enabled on a mesh but is unsupported, except for static mesh editor toggle)
r.Nanite.Streaming.NumInitialRootPages=1024 ; (Number of root pages in initial allocation. Allowed to grow on demand if r.Nanite.StreamingDynamicallyGrowAllocations is enabled)
r.Nanite.Streaming.StreamingPoolSize=1024 ; (Size of streaming pool in MB. Does not include memory used for root pages)
r.ParticleLightQuality=2 ; (0: No lights. 1: Only simple lights. 2: Simple + HQ lights)
r.ParticleLODBias=0 ; (LOD bias for particle systems, default is 0)
r.PostProcessAllowBlendModes=1 ; (Enables blend modes in post process materials)
r.PostProcessingColorFormat=1 ; (Defines the memory layout (RGBA) used for most of the post processing chain buffers)
r.ReflectionEnvironment=1 ; (Whether to render the reflection enviornment feature, which implements local reflections through Reflection Capture acotrs)
r.ReflectionMethod=1 ; (0 - None. Reflections can come from placed Reflection Captures, Planar Reflections and Skylight, but no global reflection method will be used)
r.Reflections.Denoiser=50 ; (Choose the denoising algorithm)
r.RefractionQuality=3 ; (Defines the distortion/refraction quality which allows to adjust for quality or performance)
r.RenderTargetPoolMin=1200 ; (If the render target pool size (in MB) is below this number, there is no deallocation of render targets. Default is 200 MB)
r.SceneColorFormat=3 ; (Defines the memory layout (RGBA) used for the scene color)
r.SceneColorFringe.Max=0 ; (-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 ; (0: off but best for performance, visually didn't see any difference with fringe max -1 or -2)
r.Shaders.FastMath=1 ; (Wether to use fast-math optimisations in shaders)
r.Shaders.Optimize=1 ; (Wether to optimize shaders. When using graphical debuggers like Nsight it can be useful to disable this on startup)
r.Shadow.CSM.MaxCascades=16 ; (The maximum number of cascades with which to render dynamic directional light shadows)
r.Shadow.CSM.TransitionScale=2 ; (Allows to scale the cascaded shadow map transition region. Clamped within 0..2)
r.Shadow.CSMShadowDistanceFadeoutMultiplier=0 ; (Multiplier for the CSM distance fade)
r.Shadow.DistanceScale=2 ; (Scalability option to trade shadow distance versus performance for directional lights (clamped within a reasonable range))
r.Shadow.MaxCSMResolution=4096 ; (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 ; (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 ; (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.TexelsPerPixel=2 ; (The ratio of subject pixels to shadow texels for per-object shadows)
r.Shadow.TransitionScale=2 ; (This controls the 'fade in' region between caster and where its shadow shows up. Larger values make a smaller region which will have more self shadowing artifacts)
r.ShadowQuality=5 ; (Defines the shadow method which allows to adjust for quality or performance)
r.SkeletalMeshLODBias=-3 ; (LOD bias for skeletal meshes (does not affect animation editor viewports))
r.SSR.MaxRoughness=0.9 ; (Allows to override the post process setting ScreenSpaceReflectionMaxRoughness)
r.SSR.Quality=4 ; (Whether to use screen space reflections and at what quality setting)
r.SSS.HalfRes=0 ; (0: full quality (Combined Burley and Separable pass. Separable is not optimized, as reference)
r.StaticMeshLODDistanceScale=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.Streaming.Boost=0 ; (=1.0: normal)
r.Streaming.FramesForFullUpdate=3 ; (Texture streaming is time sliced per frame. This value gives the number of frames to visit all textures)
r.Streaming.FullyLoadUsedTextures=1 ; (If non-zero, all used texture will be fully streamed in as fast as possible)
r.Streaming.HLODStrategy=2 ; (Define the HLOD streaming strategy)
r.Streaming.LimitPoolSizeToVRAM=1 ; (If non-zero, texture pool size will be limited to how much GPU memo is available)
r.Streaming.MaxTempMemoryAllowed=128 ; (Maximum temporary memory used when streaming in or out texture mips)
r.Streaming.MipBias=-1 ; (0..x reduce texture quality for streaming by a floating point number)
r.Streaming.PoolSize=0 ; (0 = unlimited)(-1: Default texture pool size, otherwise the size in mb)
r.Streaming.UseFixedPoolSize=0 ; (If non-zero, do not allow the pool size to change at run time)
r.Texturestreaming=0 ; (Allows to define if texture streaming is enabled, can be changed at run time)
r.TranslucencyLightingVolumeDim=88 ; (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.TranslucentLightingVolume=1 ; (can be seen the effect on the hot tub)(Whether to allow updating the translucent lighting volumes)
r.Upscale.Quality=3 ; (Defines the quality in which ScreenPercentage and WindowedFullscreen scales the 3d rendering)
r.VelocityOutputPass=1 ; (When to write velocity buffer)
r.ViewDistanceScale=5 ; (Controls the view distance scale. A primitive's MaxDrawDistance is scaled by this value)
r.VolumetricFog=1 ; (Whether to allow the volumetric fog feature)
r.Water.EnableShallowWaterSimulation=1 ; (Controls wether the shallow water fluid sim is enabled)
r.Water.EnableUnderwaterPostProcess=1 ; (Controls whether the underwater post process is enabled)
r.Water.SingleLayer=1 ; (Enable the single water rendering system)
r.Water.SingleLayer.Reflection=1 ; (Enable reflection rendering on water)
r.Water.SingleLayerWater.SupportCloudShadow=1 ; (Enables cloud shadows on SingleLayerWater materials)
Helena Stamatina
About Helena Stamatina 3012 Articles
I love two things in life, games and sports. Although sports were my earliest interest, it was video games that got me completely addicted (in a good way). My first game was Crash Bandicoot (PS1) from the legendary studio Naughty Dog back in 1996. I turned my passion for gaming into a job back in 2019 when I transformed my geek blog (Re-actor) into the gaming website it is today.

Be the first to comment

Leave a Reply

Your email address will not be published.