Optimized settings and tweaks to help you run Palworld smoothly and achieve a better looking game.
Optimized Settings
Optimized Quality Settings
- Motion Blur: Subjective
- Anti-Aliasing: TSR or FXAA (Subjective. FXAA has better clarity but vegetation flickers. Both these AA solutions can be improved further in the Optimization Tips section)
- View Distance: High
- Grass Details: Epic
- Shadows: High
- Effects Quality: Medium
- Texture Quality: Highest VRAM Can Handle
- DLSS: Subjective (If more performance is needed then yeah, start from the highest value then work your way down)
Optimized Balanced Settings
Optimized Quality Settings As Base
- Grass Details: High
Optimized Performance Settings
Optimized Balanced Settings As Base
- Grass Details: Medium
- Shadows: Medium
- Effects Quality: Low
Optimization Tips
Refer to “Better AA, Upscaling, Graphics & Performance” section for config tweaks. It includes:
- Ultra graphics+
- Anti-aliasing improvements
- Cartoonify game
- Performance optimizations
Mods
- Improved Graphics
- FSR2 & XeSS Upscaling
- Improved Anti-Aliasing (Already included as part of the Improved Graphics mod).
Epic vs Optimized Presets vs Low
Note: The lighting constantly changed between screenshots so it’s difficult to accurately compare, but it’s the best I can do. Lighting changes fast in this game.
35-49% Performance Uplift (Depending on preset)
Better AA, Upscaling, Graphics & Performance
Engine.ini Tweaks
- Go to your file explorer and paste the following: “C:\Users\%username%\AppData\Local\Pal\Saved\Config\Windows\Engine.ini”
- Copy the commands from one of the sections below then paste them at the bottom of the Engine.ini file then save (Some games will automatically remove the commands. If this happens right click > Properties > General > Read-only)
Universal
[/script/engine.renderersettings] r.TemporalAACatmullRom=1 r.TemporalAAPauseCorrect=1 r.TemporalAA.Quality=2 r.TemporalAA.HistoryScreenpercentage=200 r.TSR.History.ScreenPercentage=200 r.TSR.History.SampleCount=8 r.TSR.ShadingRejection.SampleCount=0 r.TSR.History.GrandReprojection=1 r.TSR.RejectionAntiAliasingQuality=1 r.TSR.Velocity.WeightClampingSampleCount=2.0 r.BasePassForceOutputsVelocity=1 r.FXAA.Quality=5 r.SceneColorFringeQuality=0 r.LensFlareQuality=0 r.FilmGrain=0 r.MotionBlur.Amount=0.39 r.MotionBlur.Max=5 r.MotionBlurSeparable=1 r.MotionBlurFiltering=0 r.MotionBlur.HalfResGather=0
These are your baseline tweaks, always use these.
Anti-aliasing
TAA/TSR
[/script/engine.renderersettings] r.TemporalAA.Upsampling=1 r.Upscale.Quality=5 r.Tonemapper.Sharpen=0.5
FXAA/AA Off
[/script/engine.renderersettings] r.TemporalAA.Upsampling=0 r.Upscale.Quality=4 r.Tonemapper.Sharpen=0 r.MinRoughnessOverride=1 r.SSR.Quality=0 r.VRS.Enable=0 r.BloomQuality=2 r.CapsuleShadow=0 r.ContactShadows=0 r.Reflections.Denoiser=2 r.AmbientOcclusion.Compute=1 r.AmbientOcclusion.Denoiser=2 r.AmbientOcclusion.Compute.Smooth=1 r.Shadow.EnableModulatedSelfShadow=1 r.Lumen.Reflections.MaxRoughnessToTrace=0 r.Lumen.Reflections.Temporal=1 r.Lumen.Reflections.BilateralFilter=1 r.Lumen.Reflections.DownsampleFactor=1 r.Lumen.ScreenProbeGather.ShortRangeAO=0 r.Lumen.ScreenProbeGather.TemporalFilterProbes=1 r.Lumen.Reflections.MaxRayIntensity=0.2 r.Lumen.ScreenProbeGather.MaxRayIntensity=0.3 r.Lumen.ScreenProbeGather.Temporal.MaxFramesAccumulated=64
DLSS
[/script/engine.renderersettings] r.NGX.Enable=1 r.NGX.DLSS.Enable=1 r.NGX.DLSS.DilateMotionVectors=1 r.NGX.DLSS.EnableAutoExposure=1 r.NGX.DLSS.Preset=3 r.TemporalAA.Upscaler=1 r.Reflections.Denoiser=2 r.NGX.DLSS.Reflections.TemporalAA=1 r.NGX.DLSS.WaterReflections.TemporalAA=1 r.NGX.LogLevel=0 r.NGX.EnableOtherLoggingSinks=0 r.Velocity.ForceOutput=1 r.BasePassOutputsVelocity=1 r.BasePassForceOutputsVelocity=1 r.VelocityOutputPass=1 r.SelectiveBasePassOutputs=0 r.Velocity.EnableVertexDeformation=1 r.VertexDeformationOutputsVelocity=1 r.Tonemapper.Sharpen=0.5
Ultra Graphics+
[/script/engine.renderersettings] r.Lumen.DiffuseIndirect.Allow=1 r.Lumen.Reflections.Allow=1 r.Lumen=1 r.AmbientOcclusion.Method=1 r.GTAO.Downsample=0 r.SSGI.HalfRes=0 r.SSGI.Quality=4 r.SSGI.Enable=1 r.SSR.Quality=4
Compatible with the “Cartoon” preset but pointless to use with the “Cartoon + Potato Graphics” one.
Cartoonify
Cartoon
[/script/engine.renderersettings] r.MipMapLODBias=9 r.ParticleLODBias=15 r.Streaming.Boost=6 r.Streaming.UseAllMips=1 r.Streaming.MaxTempMemoryAllowed=512 r.Streaming.MaxTempMemoryAllowed=300 r.Streaming.UsePerTextureBias=1 r.Streaming.FullyLoadUsedTextures=0 r.TextureStreaming=1 r.Streaming.PoolSize=16
Cartoon + Potato Graphics
[/script/engine.renderersettings] r.FastBlurThreshold=0 r.Tonemapper.GrainQuantization=0 r.Tonemapper.Quality=0 r.SceneColorFringeQuality=0 r.DepthOfFieldQuality=0 r.DisableDistortion=1 r.BloomQuality=0 r.FilmGrain=0 r.SubsurfaceQuality=0 r.LensFlareQuality=0 r.SSGI.Enable=0 r.SSGI.HalfRes=1 r.SSGI.Quality=1 r.SSS.SampleSet=0 r.SSS.Quality=0 r.SSS.HalfRes=1 r.GTAO.Downsample=1 r.SSR.Quality=0 r.SSR.HalfResSceneColor=1 r.HalfResReflections=1 r.VolumetricFog.VoxelizationShowOnlyPassIndex=0 r.VolumetricFog=0 r.VolumetricFog.GridPixelSize=0 r.VolumetricFog.GridSizeZ=0 r.VolumetricFog.HistoryMissSupersampleCount=0 r.Fog=0 r.FogDensity=0 r.AmbientOcclusion.Method=0 r.AmbientOcclusionLevels=0 r.AmbientOcclusionMipLevelFactor=0 r.AmbientOcclusionMaxQuality=0 r.AmbientOcclusionRadiusScale=0 r.AmbientOcclusion.Denoiser=2 r.AmbientOcclusion.Compute=1 r.AmbientOcclusion.Compute.Smooth=1 r.ShadowQuality=1 r.Shadow.CSM.MaxCascades=0 r.Shadow.MaxResolution=0 r.Shadow.MaxCSMResolution=0 r.Shadow.RadiusThreshold=0 r.Shadow.CSM.TransitionScale=0 r.Shadow.PreShadowResolutionFactor=0 r.Shadow.EnableModulatedSelfShadow=1 r.CapsuleShadows=0 r.ContactShadows=0 r.TranslucencyLightingVolumeDim=0 r.RefractionQuality=0 r.TranslucencyVolumeBlur=0 r.MaterialQualityLevel=0 r.ParticleLightQuality=0 r.MaxAnisotropy=0 r.Upscale.Quality=4 r.LightShaftQuality=0 r.DistanceFieldShadowing=0 r.DistanceFieldAO=0 r.AOQuality=0 r.LightMaxDrawDistanceScale=0 r.LightFunctionQuality=0 r.DetailMode=0 r.Lumen.ScreenProbeGather.ShortRangeAO=0 r.Lumen.ScreenProbeGather.TemporalFilterProbes=1 r.Reflections.Denoiser=2 foliage.LODDistanceScaleGrass=0 foliage.DensityScale=0 grass.densityScale=0 grass.Enable=0 grass.CullDistanceScale=0.5 grass.DisableDynamicShadows=1 grass.DiscardDataOnLoad=1 r.LightShafts=0 r.MaxCSMRadiusToAllowPerObjectShadows=0 r.ReflectionEnvironment=0 r.Shadow.RadiusThresholdRSM=0 r.Shadow.SpotLightDepthBias=0 r.Shadow.TexelsPerPixel=0 r.SimpleDynamicLighting=0 r.SSS.Scale=0 r.SeparateTranslucency=0 r.Shadow.PerObject=0 r.AllowLandscapeShadows=0 r.ParallelShadows=0 r.Shadow.PreshadowExpand=-1 r.Shadow.Preshadows=0 r.Shadow.SpotLightTransitionScale=0 r.AOApplyToStaticIndirect=0 r.Shadow.PerObjectCastDistanceRadiusScale=0 r.CapsuleDirectShadows=0 r.CapsuleIndirectShadows=0 r.CapsuleMaxDirectOcclusionDistance=0 r.CapsuleMaxIndirectOcclusionDistance=0 r.Shadows.SpotLightTransitionScale=1 r.TranslucentLightingVolume=0 r.TriangleOrderOptimization=1 r.Atmosphere=0 r.MipMapLODBias=9 r.ParticleLODBias=15 r.Streaming.Boost=6 r.Streaming.UseAllMips=1 r.Streaming.MaxTempMemoryAllowed=512 r.Streaming.MaxTempMemoryAllowed=300 r.Streaming.UsePerTextureBias=1 r.Streaming.FullyLoadUsedTextures=0 r.TextureStreaming=1 r.Streaming.PoolSize=16
Choose one. The r.MipMapLODBias value is pivotal to the function of the Cartoon aesthetic however can cause UI problems in this game sadly.
Potato Graphics
[/script/engine.renderersettings] r.FastBlurThreshold=0 r.Tonemapper.GrainQuantization=0 r.Tonemapper.Quality=0 r.SceneColorFringeQuality=0 r.DepthOfFieldQuality=0 r.DisableDistortion=1 r.BloomQuality=0 r.FilmGrain=0 r.SubsurfaceQuality=0 r.LensFlareQuality=0 r.SSGI.Enable=0 r.SSGI.HalfRes=1 r.SSGI.Quality=1 r.SSS.SampleSet=0 r.SSS.Quality=0 r.SSS.HalfRes=1 r.GTAO.Downsample=1 r.SSR.Quality=0 r.SSR.HalfResSceneColor=1 r.HalfResReflections=1 r.VolumetricFog.VoxelizationShowOnlyPassIndex=0 r.VolumetricFog=0 r.VolumetricFog.GridPixelSize=0 r.VolumetricFog.GridSizeZ=0 r.VolumetricFog.HistoryMissSupersampleCount=0 r.Fog=0 r.FogDensity=0 r.AmbientOcclusion.Method=0 r.AmbientOcclusionLevels=0 r.AmbientOcclusionMipLevelFactor=0 r.AmbientOcclusionMaxQuality=0 r.AmbientOcclusionRadiusScale=0 r.AmbientOcclusion.Denoiser=2 r.AmbientOcclusion.Compute=1 r.AmbientOcclusion.Compute.Smooth=1 r.ShadowQuality=1 r.Shadow.CSM.MaxCascades=0 r.Shadow.MaxResolution=0 r.Shadow.MaxCSMResolution=0 r.Shadow.RadiusThreshold=0 r.Shadow.CSM.TransitionScale=0 r.Shadow.PreShadowResolutionFactor=0 r.Shadow.EnableModulatedSelfShadow=1 r.CapsuleShadows=0 r.ContactShadows=0 r.TranslucencyLightingVolumeDim=0 r.RefractionQuality=0 r.TranslucencyVolumeBlur=0 r.MaterialQualityLevel=0 r.ParticleLightQuality=0 r.MaxAnisotropy=0 r.Upscale.Quality=4 r.LightShaftQuality=0 r.DistanceFieldShadowing=0 r.DistanceFieldAO=0 r.AOQuality=0 r.LightMaxDrawDistanceScale=0 r.LightFunctionQuality=0 r.DetailMode=0 r.Lumen.ScreenProbeGather.ShortRangeAO=0 r.Lumen.ScreenProbeGather.TemporalFilterProbes=1 r.Reflections.Denoiser=2 foliage.LODDistanceScaleGrass=0 foliage.DensityScale=0 grass.densityScale=0 grass.Enable=0 grass.CullDistanceScale=0.5 grass.DisableDynamicShadows=1 grass.DiscardDataOnLoad=1 r.LightShafts=0 r.MaxCSMRadiusToAllowPerObjectShadows=0 r.ReflectionEnvironment=0 r.Shadow.RadiusThresholdRSM=0 r.Shadow.SpotLightDepthBias=0 r.Shadow.TexelsPerPixel=0 r.SimpleDynamicLighting=0 r.SSS.Scale=0 r.SeparateTranslucency=0 r.Shadow.PerObject=0 r.AllowLandscapeShadows=0 r.ParallelShadows=0 r.Shadow.PreshadowExpand=-1 r.Shadow.Preshadows=0 r.Shadow.SpotLightTransitionScale=0 r.AOApplyToStaticIndirect=0 r.Shadow.PerObjectCastDistanceRadiusScale=0 r.CapsuleDirectShadows=0 r.CapsuleIndirectShadows=0 r.CapsuleMaxDirectOcclusionDistance=0 r.CapsuleMaxIndirectOcclusionDistance=0 r.Shadows.SpotLightTransitionScale=1 r.TranslucentLightingVolume=0 r.TriangleOrderOptimization=1 r.Atmosphere=0 r.Streaming.Boost=6 r.Streaming.UseAllMips=1 r.Streaming.MaxTempMemoryAllowed=512 r.Streaming.MaxTempMemoryAllowed=300 r.Streaming.UsePerTextureBias=1 r.Streaming.FullyLoadUsedTextures=0 r.TextureStreaming=1 r.Streaming.PoolSize=400
Same as Cartoon + Potato Graphics but Cartoon component is removed.