Skip to content

Instantly share code, notes, and snippets.

@lextra2
Last active July 23, 2025 14:32
Show Gist options
  • Save lextra2/9dae33b8f0a722e9096e2738a4b4af51 to your computer and use it in GitHub Desktop.
Save lextra2/9dae33b8f0a722e9096e2738a4b4af51 to your computer and use it in GitHub Desktop.
Unreal Engine 4
[/Script/Engine.TextureLODSettings]
TextureLODGroups=(Group=TEXTUREGROUP_World,MinLODSize=1,MaxLODSize=8192,LODBias=0,MinMagFilter=aniso,MipFilter=point,NumStreamedMips=0,MipGenSettings=TMGS_Sharpen3)
TextureLODGroups=(Group=TEXTUREGROUP_WorldNormalMap,MinLODSize=1,MaxLODSize=8192,LODBias=0,MinMagFilter=aniso,MipFilter=point,NumStreamedMips=0,MipGenSettings=TMGS_SimpleAverage)
TextureLODGroups=(Group=TEXTUREGROUP_WorldSpecular,MinLODSize=1,MaxLODSize=8192,LODBias=0,MinMagFilter=aniso,MipFilter=point,NumStreamedMips=0,MipGenSettings=TMGS_SimpleAverage)
[TextureStreaming]
PoolSizeVRAMPercentage=0
[/Script/Engine.RendererSettings]
r.MaxAnisotropy=16
r.MotionBlurQuality=0
r.SceneColorFringeQuality=0
r.Tonemapper.GrainQuantization=0
r.TemporalAACurrentFrameWeight=0.1
[/Script/Engine.RendererSettings]
r.Streaming.PoolSize=0
r.MaxAnisotropy=16
r.DepthOfFieldQuality=0
r.LensFlareQuality=0
r.MotionBlurQuality=0
r.SceneColorFringeQuality=0
r.Tonemapper.GrainQuantization=0
r.Tonemapper.Quality=1
r.Tonemapper.Sharpen=2
r.ScreenPercentage=75
r.TemporalAA.Upsampling=1
r.TemporalAACurrentFrameWeight=0.5
[/Script/Engine.RendererOverrideSettings]
r.MaxAnisotropy=16
r.DepthOfFieldQuality=0
r.LensFlareQuality=0
r.MotionBlurQuality=0
r.SceneColorFringeQuality=0
r.ScreenPercentage=75
r.TemporalAA.Upsampling=1
r.TemporalAACurrentFrameWeight=0.5
[SystemSettings]
r.MaxAnisotropy=16
r.DepthOfFieldQuality=0
r.LensFlareQuality=0
r.MotionBlurQuality=0
r.SceneColorFringeQuality=0
r.ScreenPercentage=75
r.TemporalAA.Upsampling=1
r.TemporalAACurrentFrameWeight=0.5
r.PostProcessAAQuality=4
r.TemporalAASamples=8
r.TemporalAA.Algorithm=1
r.Tonemapper.Quality=1
r.Tonemapper.Sharpen=2
r.ViewDistanceScale=10
foliage.LODDistanceScale=10
r.StaticMeshLODDistanceScale=0.1
r.SkeletalMeshLODBias=-5
r.LandscapeLODBias=-5
r.Shadow.DistanceScale=2
r.Shadow.MaxCSMResolution=8192
r.Streaming.FullyLoadUsedTextures=1
r.ShadowQuality=0 ;no shadows
r.AmbientOcclusionLevels=0 ;no AO
r.SSR=0 ;no Screen Space Reflections
r.Fog=0 ;no fog
r.LightShaftQuality ;no light shafts
[SystemSettings]
r.MaxAnisotropy=2
r.DepthOfFieldQuality=0
r.LensFlareQuality=0
r.MotionBlurQuality=0
r.SceneColorFringeQuality=0
r.PostProcessAAQuality=0
r.Tonemapper.Quality=0
r.Fog=0
r.SSR=0
r.AmbientOcclusionLevels=0
r.ShadowQuality=0
r.BloomQuality=0
r.MipMapLODBias=2
r.LandscapeLODBias=2
r.StaticMeshLODDistanceScale=2
r.ViewDistanceScale=0.6
foliage.LODDistanceScale=0.6
[TextureStreaming]
r.Streaming.PoolSize=2048
@lextra2
Copy link
Author

lextra2 commented Apr 22, 2022

@lextra2
Copy link
Author

lextra2 commented Apr 22, 2022

r.TemporalAA.Algorithm

  • 0 = Gen 4 TAAU (Default)
  • 1 = Gen 5 TAAU

r.TemporalAA.Upsampling

  • 0 = Spatial (Default)
  • 1 = Spatial & Temporal

r.TemporalAA.HistoryScreenPercentage

  • 100 = 100%, Standard Resolution Temporal AA
  • 200 = 200%, SuperSampled Temporal AA

r.TemporalAACurrentFrameWeight

  • 0.04 (Default)
    Weight of current frame's contribution to the history.
    Low values cause blurriness and ghosting.
    High values are sharper but fail to hide jittering/aliasing.

r.TemporalAAFilterSize

  • Size of the filter kernel. (1.0 = smoother, 0.0 = sharper but aliased).

r.TemporalAASamples

  • Number of jittered positions for temporal AA (4, 8=default, 16, 32, 64).

r.VertexDeformationOutputsVelocity

  • Enables materials with World Position Offset and/or World Displacement to output velocities during velocity pass even when the actor has not moved. This incurs a performance cost and can be quite significant if many objects are using WPO, such as a forest of trees - in that case consider r.BasePassOutputsVelocity instead.

r.BasePassOutputsVelocity

  • Enables rendering WPO velocities on the base pass.
  • 0: Renders in a separate pass/rendertarget, all movable static meshes + dynamic.
  • 1: Renders during the regular base pass adding an extra GBuffer, but allowing motion blur on materials with Time-based WPO

r.BasePassForceOutputsVelocity

  • Force the base pass to compute motion vector, regardless of FPrimitiveUniformShaderParameters.
  • 0: Disabled (default)
  • 1: Enabled

@lextra2
Copy link
Author

lextra2 commented Oct 23, 2022

@lextra2
Copy link
Author

lextra2 commented Sep 17, 2024

r.DefaultFeature.AntiAliasing=2
r.PostProcessAAQuality=6

r.TemporalAA.Algorithm=1
r.TemporalAA.Upsampling=1
r.TemporalAA.R11G11B10History=1
r.TemporalAA.HistoryScreenPercentage=200
r.TemporalAACurrentFrameWeight=0.05
r.TemporalAAFilterSize=1.0
r.TemporalAASamples=8
r.TemporalAACatmullRom=0
r.BasePassOutputsVelocity=1
r.BasePassForceOutputsVelocity=1

@lextra2
Copy link
Author

lextra2 commented Sep 19, 2024

r.D3D11.UseAllowTearing=1
r.D3D12.UseAllowTearing=1

r.AMDD3D11MultiThreadedDevice=true
r.Streaming.Boost=1
r.Streaming.HLODStrategy=0
r.Streaming.LimitPoolSizeToVRAM=0
r.Streaming.MipBias=0
r.Streaming.PoolSize=8192
r.Streaming.PoolSizeForMeshes=-1
r.Streaming.UseAllMips=1
r.Streaming.MaxTempMemoryAllowed=100
r.RenderTargetPoolMin=1000

@lextra2
Copy link
Author

lextra2 commented Oct 13, 2024

Game launch options, to partial fix animation stutters:

-usefixedtimestep -fps 60

@lextra2
Copy link
Author

lextra2 commented Jul 21, 2025

[SystemSettings]
r.Streaming.PoolSize=8192
r.Streaming.MaxTempMemoryAllowed=100         ;  The default value is 50
r.RenderTargetPoolMin=1000                          ;  1000 for Chinematic, 400 for Epic
r.MaxAnisotropy=16
r.MipMapLODBias=-1
r.DepthOfFieldQuality=0
r.LensFlareQuality=0
r.MotionBlurQuality=0
r.SceneColorFringeQuality=0
r.Tonemapper.Quality=1
r.Tonemapper.Sharpen=1
r.Tonemapper.GrainQuantization=0

r.HZBOcclusion=2         ; 0 = GPU Driver culling, 2 = Force Unreal culling, which is less noticeable

r.AmbientOcclusionLevels=1
r.AmbientOcclusionMaxQuality=100
r.AmbientOcclusionMipLevelFactor=0.4
r.AmbientOcclusionRadiusScale=1.0

r.SSR.Quality=3
r.SSR.MaxRoughness=0.8

r.VolumetricFog=1
r.VolumetricFog.GridPixelSize=8         ; A value of 16 is sometimes a good speedup
r.VolumetricFog.GridSizeZ=128
r.VolumetricFog.HistoryMissSupersampleCount=4

r.SSGI.Enable=0
r.SSGI.HalfRes=1
r.SSGI.LeakFreeReprojection=1
r.SSGI.Quality=4

r.ShadowQuality=5
r.Shadow.CSM.MaxCascades=6            ; Should be at least 4
r.Shadow.MaxResolution=2048
r.Shadow.MaxCSMResolution=2048
r.Shadow.RadiusThreshold=0.01
r.Shadow.DistanceScale=1.0
r.Shadow.CSM.TransitionScale=1.0
r.Shadow.PreShadowResolutionFactor=1.0

r.StaticMeshLODDistanceScale=0.2

r.FinishCurrentFrame=0        ; A value of 1 limits rhi.MaximumFrameLatency to 1

r.OneFrameThreadLag=1
rhi.SyncInterval=0
r.GTSyncType=0
r.Vsync=0
t.MaxFPS=0

rhi.SyncInterval=1
r.GTSyncType=2
r.Vsync=1
rhi.SyncSlackMS=10             ; The default value is 10

@lextra2
Copy link
Author

lextra2 commented Jul 21, 2025

How to mod Unreal Engine 4+ Games:

Software needed:

  1. Open games .pak file with FModel
  2. Look for "Engine > Config" and "GameName > Config"
  3. Right-click on "Config" folder -> Export Folder's Packages Raw Data
  4. Copy the configs from the exported location into the folder with RePak.exe
  5. Make sure to follow the filepath structure in step 2, or what ever the game is using
  6. Edit configs
  7. Convert folder to .pak with the following command:
  8. repak pack "FolderName"
  9. Rename newly created file to FIX.pak
  10. Go to "GameName > Content > Paks" and create a folder named "~mods"
  11. Copy FIX.pak into the ~mods folder
  12. Install UE4SS or UUU to access the ingame command console
  13. Check ingame for the changed variables with the command console, to make sure they were applied correctly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment