This guide will show you the optimized settings and tweaks using the Engine.ini file of Palworld. Adding these tweaks to your game will greatly enhance, smoothen, and improve the overall graphics and performance of the 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
Important: The lighting in the screenshots varies, making accurate comparisons challenging. However, I’ve done my best. In this game, lighting changes quickly. You can expect a 35-49% improvement in performance, depending on the preset you’re using.
Better AA, Upscaling, Graphics & Performance
Engine.ini Tweaks
- Open your file explorer and go to C:\Users%username%\AppData\Local\Pal\Saved\Config\Windows\Engine.ini.
- Choose a section below, copy the commands, paste them at the end of the Engine.ini file, and save. If the game removes the commands, right-click > Properties > General > Read-only.
Universal
Stick to these basic adjustments; they’re the starting point for any changes.
[/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
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+
It works well with the “Cartoon” preset, but there’s no point using it with the “Cartoon + Potato Graphics” setting.
[/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
Cartoonify
Pick one: The r.MipMapLODBias value is super important for making the Cartoon look, but it might mess up the game’s UI.
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
Speaking of cartoons, we also have a guide on how to have a Pokemon-like experience in Palworld. Check out our Palworld Pokemon Mode Settings guide.
Potato Graphics
So, it’s like Potato Graphics, but without the Cartoon part.
[/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
That's everything we are sharing today for this Palworld guide. This guide was originally created and written by grizzlyyy. In case we fail to update this guide, you can find the latest update by following this link.