Skip to content

Instantly share code, notes, and snippets.

@FairlySadPanda
Last active December 11, 2025 19:57
Show Gist options
  • Select an option

  • Save FairlySadPanda/dcab44f138794d1736754358b0a9d6c6 to your computer and use it in GitHub Desktop.

Select an option

Save FairlySadPanda/dcab44f138794d1736754358b0a9d6c6 to your computer and use it in GitHub Desktop.
Engine.ini for DNA (for Reddit)
# Credits to DragonPhase for the base file for this. Comments below starting with ; are theirs.
# No link here to the original to avoid breaking TOS (I sourced it from a mod-hosting site).
# My main changes were some auditing of changes to make sure they
# actually decreased (or did not increase) frametime.
# I also did a sweep to remove changes that changed visual quality for the worse;
# you can absolutely make DNA look worse than this.
# Warning: this version may cause nasty blurriness when FSR is enabled.
# This was made using the 1.0 Fina patch, 11th Dec 2025.
# Important: the devs can and will change optimization over time!
# HOW THIS WORKS
# Unreal Engine has internal settings that are controlled via text-based settings, called cvars.
# These settings add overrides to what some of the settings do. Most of these changes are benign tweaks.
# INSTALLATION INSTRUCTIONS
# Find your Engine.ini file - [DNA install location]\DNA Game\EM\Saved\Config\WindowsNoEditor\Engine.ini
# Open it, copy-and-paste the below in to overwrite what's already there, then save the file.
# Maybe back-up the original version first.
# UNINSTALLATION INSTRUCTIONS
# Literally just delete the Engine.ini file above. The game will regenerate it from its internal defaults when it boots up next.
[Core.System]
Paths=../../../Engine/Content
Paths=%GAMEDIR%Content
Paths=../../../EM/Plugins/DynamicAtlas/Content
Paths=../../../Engine/Plugins/Runtime/WebBrowserWidget/Content
Paths=../../../Engine/Plugins/Nvidia/DLSS/Content
Paths=../../../Engine/Plugins/Runtime/HoudiniEngine/Content
Paths=../../../EM/Plugins/DBTween/Content
Paths=../../../EM/Plugins/JJYYNiagaraUIParticle/Content
Paths=../../../Engine/Plugins/FX/Niagara/Content
Paths=../../../Engine/Plugins/Experimental/PythonScriptPlugin/Content
Paths=../../../EM/Plugins/FMODStudio/Content
Paths=../../../EM/Plugins/HeroUSDKPlugin/Content
Paths=../../../EM/Plugins/HeroMarket/Content
Paths=../../../Engine/Plugins/BlueprintFileUtils/Content
Paths=../../../EM/Plugins/MotionWarping/Content
Paths=../../../EM/Plugins/EM_LipSync/Content
Paths=../../../Engine/Plugins/BackgroundBlurWithMask/Content
Paths=../../../Engine/Plugins/MovieScene/SequencerScripting/Content
Paths=../../../Engine/Plugins/Experimental/ControlRig/Content
Paths=../../../Engine/Plugins/Experimental/FullBodyIK/Content
Paths=../../../Engine/Plugins/Experimental/CommonUI/Content
Paths=../../../Engine/Plugins/VirtualProduction/Takes/Content
Paths=../../../Engine/Plugins/Enterprise/DatasmithContent/Content
Paths=../../../Engine/Plugins/FSR3/Content
Paths=../../../Engine/Plugins/Marketplace/VertexPaintDetectionPlugin/Content
Paths=../../../EM/Plugins/ACLPlugin/Content
Paths=../../../EM/Plugins/AIHelpForUE/Content
Paths=../../../EM/Plugins/ChangeAnimRunTimeConst/Content
Paths=../../../EM/Plugins/CompareSMBone/Content
Paths=../../../EM/Plugins/CopyAllSourceCurves/Content
Paths=../../../EM/Plugins/CreatAnimCompose/Content
Paths=../../../EM/Plugins/CreateBlendSpace/Content
Paths=../../../EM/Plugins/CreateMontageInPath/Content
Paths=../../../EM/Plugins/ELuaProfiler/Content
Paths=../../../EM/Plugins/UnLua/Content
Paths=../../../EM/Plugins/EMDeviceProfileMatch/Content
Paths=../../../EM/Plugins/EMHeaderTool/Content
Paths=../../../EM/Plugins/EMNiagaraTool/Content
Paths=../../../EM/Plugins/EM_K2Node/Content
Paths=../../../EM/Plugins/EM_LiveLink/Content
Paths=../../../EM/Plugins/HeroNewBDCPlugin/Content
Paths=../../../EM/Plugins/HotPatcher/Content
Paths=../../../EM/Plugins/LowEntryExtStdLib/Content
Paths=../../../EM/Plugins/NiagaraUIRenderer/Content
Paths=../../../EM/Plugins/SideFX_Labs/Content
Paths=../../../EM/Plugins/SpinePlugin/Content
Paths=../../../EM/Plugins/StoryCreator/Content
Paths=../../../EM/Plugins/TapCommon/Content
Paths=../../../EM/Plugins/TapLogin/Content
Paths=../../../EM/Plugins/UESVON/Content
Paths=../../../EM/Plugins/UIParticleSystem/Content
Paths=../../../EM/Plugins/UnLuaExtensions/LuaProtobuf/Content
Paths=../../../EM/Plugins/UnLuaExtensions/LuaRapidjson/Content
Paths=../../../EM/Plugins/WeLingPipeSDK/Content
Paths=../../../Engine/Plugins/2D/Paper2D/Content
Paths=../../../Engine/Plugins/Developer/AnimationSharing/Content
Paths=../../../Engine/Plugins/Editor/GeometryMode/Content
Paths=../../../Engine/Plugins/Editor/SpeedTreeImporter/Content
Paths=../../../Engine/Plugins/MagicLeap/MagicLeapPassableWorld/Content
Paths=../../../Engine/Plugins/MagicLeap/MagicLeap/Content
Paths=../../../Engine/Plugins/Media/MediaCompositing/Content
Paths=../../../Engine/Plugins/MegascansPlugin/Content
Paths=../../../Engine/Plugins/Experimental/GeometryProcessing/Content
Paths=../../../Engine/Plugins/Runtime/Synthesis/Content
Paths=../../../Engine/Plugins/Runtime/AudioSynesthesia/Content
[WindowsApplication.Accessibility]
StickyKeysHotkey=False
ToggleKeysHotkey=False
FilterKeysHotkey=False
StickyKeysConfirmation=False
ToggleKeysConfirmation=False
FilterKeysConfirmation=False
[ConsoleVariables]
bEnableMouseSmoothing=0 ; allow higher mouse DPI input ;
bViewAccelerationEnabled=0
RawMouseInputEnabled=1
bOptimizeAnimBlueprintMemberVariableAccess=1
bAllowMultiThreadedAnimationUpdate=1
bAllowMultiThreadedShaderCompile=1
bEnableMultiCoreRendering=1
AttemptStuckThreadResuscitation=True
D3D12.AdjustTexturePoolSizeBasedOnBudget=1
D3D11.AdjustTexturePoolSizeBasedOnBudget=1
foliage.MaxOcclusionQueriesPerComponent=10 ; minimize foliage that appears at one time ;
foliage.MinOcclusionQueriesPerComponent=1
r.NumBufferedOcclusionQueries=2
r.Streaming.UsePerTextureBias=1
r.Streaming.DefragDynamicBounds=1
r.GPUDefrag.MaxRelocations=4
r.PreTileTextures=1
r.UseShaderCaching=1
r.UseShaderPredraw=1
bDisableAILogging=1
LogTelemetry=off
LogAnalytics=off
[/Script/Engine.RendererSettings]
# FSR3 costs 2-5ms of frametime to be switched on! It's not free!
# 0 = 1.0x scaling (Functions as anti-aliasing - see SteamOS's "Sharp" image scaling option as an example)
# 1 = 1.5x scaling ("Quality" mode.)
# 2 = 1.7x scaling ("Balanced" mode.)
# 3 - 2.0x scaling ("Performance" mode. Recommended for small screens like the Deck or Legion Go S.)
# 4 - 3.0x scaling ("Ultra Performance" mode. e.g. 360p -> 1080p. It will look bad. You shall become potato.)
r.FidelityFX.FSR3.QualityMode=3 ; 0 value for native AA ;
r.FidelityFX.FSR3.Sharpness=0.0
r.FidelityFX.FSR3.AdjustMipBias=1 ; fix blurry FSR3 ;
r.FidelityFX.FSR3.DeDither=1
r.FidelityFX.FSR3.ReactiveMaskRoughnessScale=0
r.FidelityFX.FSR3.ReactiveMaskTranslucencyLumaBias=0
r.FidelityFX.FSR3.ReactiveMaskTranslucencyBias=0
r.FidelityFX.FSR3.ReactiveHistoryTranslucencyBias=0
r.FidelityFX.FSR3.ReactiveHistoryTranslucencyLumaBias=0 ; reduce FSR jagged lines issue ;
r.FidelityFX.FSR3.ReactiveMaskPreDOFTranslucencyScale=0
r.FidelityFX.FSR3.ForceVertexDeformationOutputsVelocity=1
r.FidelityFX.FSR3.CreateReactiveMask=1
r.FidelityFX.FSR3.HistoryFormat=0
r.FidelityFX.FSR.RCAS.Sharpness=0.0 ; fix directx11 FSR blurry issue ;
r.FidelityFX.FSR.Post.FilmGrain=0
r.Reflections.Denoiser=2
r.Reflections.Denoiser.TemporalAccumulation=1
r.MultithreadedRendering=1
r.AllowMultiThreadedShaderCreation=1
r.SSR.HalfResSceneColor=1 ; lower SSR res ;
r.HighQualityShafts=0
r.LightShaftDownSampleFactor=7 ; lower shaft ;
r.DistanceFieldAO=0
r.Shadow.DistanceField=0
r.DistanceFieldLighting=0
r.DistanceFieldShadowing=0
r.SubsurfaceScattering=0
r.EnableMultiThreadedRendering=1
r.ThreadedShaderCompilation=1
r.TextureStreaming.DiscardUnusedMips=1
r.ThreadPool.EnableBackgroundThreads=1
r.ThreadPool.EnableHighPriorityThreads=0
r.AlsoUseSphereForFrustumCull=1
r.OptimizedWPO=1
r.Shaders.Optimize=1
r.Streaming.Threaded=1
r.Shadow.CSMCaching=1
r.ShaderCompiler.AllowDistributedCompilation=0
r.CreateShadersOnLoad=1
niagara.CreateShadersOnLoad=1
r.Cache.UpdateEveryFrame=1
r.Cache.DrawInterpolationPoints=1
FX.SkipVectorVMBackendOptimizations=1
FX.MaxCPUParticlesPerEmitter=1000
FX.EnableCircularAnimTrailDump=0
FX.ParticlePerfStats.Enabled=0
FX.Niagara.DebugDraw.Enabled=0
# Everything in this section below this comment messes with the post-processing stack.
# This sacrifices artist intent for sweet, delicious frames.
r.BlurGBuffer=0
r.DepthOfField=0
r.DepthOfField.MaxSize=0
r.DOF.TemporalAAQuality=0
r.DOF.Scatter.NeighborCompareMaxColor=0
r.DOF.Kernel.MaxBackgroundRadius=0.0001
r.DOF.Kernel.MaxForegroundRadius=0.0001
r.DOF.Recombine.EnableBokehSettings=0
r.DOF.Recombine.Quality=0
r.DOF.Gather.RingCount=0
r.DepthOfField.FarBlur=0
r.SceneColorFringeQuality=0
r.SceneColorFringe.Max=0
sdk.DisableCutsceneCA=1
r.MeshParticle.MinDetailModeForMotionBlur=0
r.MotionBlurIntensityOverride=0.000000
r.MotionBlurLimitationOverride=0.000000
r.MotionBlurRestrainOverride=0.000000
r.MotionBlurScatter=0
r.Tonemapper.Sharpen=0
r.Tonemapper.Quality=0
r.Tonemapper.GrainQuantization=0
r.DefaultFeature.LensFlare=0
r.DefaultFeature.MotionBlur=0
r.DefaultFeature.DOF=0
r.MotionBlurQuality=0
[SystemSettings]
foliage.DiscardDataOnLoad=1
# Touch grass, but not infinitely. This applies distance culling to grass.
# Most noticeable on the cliff overlooking the village on Purgatorio Island.
# Set this to 500000 (five-hundred thousand) for an FPS boost at the cost of making Pan Studio's artists sad.
# Set it to 50000 (fifty thousand) for an even more aggressive removal of grass.
# Set this to 0 to completely disable all foliage, but this will result in certain bushes with collision being turned invisible!
foliage.MaxTrianglesToRender=5000000
r.ParallelGraphics=1
r.ParallelRendering=1
r.ParallelParticleUpdate=1
r.ParallelPhysicsScene=1
r.ParallelDistanceField=0
r.ParallelShaderCompile=1
r.ParallelPostProcessing=0
r.ParallelSkeletalClothSimulate=1
r.ParallelSkeletalClothUpdateVerts=1
r.ParallelDistributedScene=1
r.ParallelMeshBuildUseJobCulling=1
r.ParallelMeshBuildUseJobMerging=1
r.ParallelMeshDrawCommands=1
r.ParallelMeshMerge=1
r.ParallelMeshProcessing=1
r.ParallelLandscapeLayerUpdate=1
r.ParallelLandscapeSplineUpdate=1
r.FastVRam.GBufferVelocity=1
r.FastVRam.ShadowPerObject=1 ; optimized VRAM and reduce stuttering ;
r.FastVRam.ShadowPointLight=1
r.FastVRam.ShadowCSM=1
r.FastVRam.SSR=1
r.FastVRam.CustomDepth=1
r.FastVRam.GBufferA=1
r.FastVRam.GBufferB=1
r.FastVRam.GBufferC=1
r.FastVRam.GBufferD=1
r.FastVRam.GBufferE=1
r.ShaderPipelineCache.PreOptimizeEnabled=1
r.ShaderPipelineCache.LazyLoadShadersWhenPSOCacheIsPresent=1 ; better loading time ;
r.ShaderPipelineCache.SaveAfterPSOsLogged=5
r.ShaderPipelineCache.BackgroundBatchSize=8
r.ShaderPipelineCache.BackgroundBatchTime=1.0
r.FrustumCullNumWordsPerTask=1024
r.Streaming.LimitPoolSizeToVRAM=1
r.Streaming.AmortizeCPUToGPUCopy=0
r.Streaming.NumStaticComponentsProcessedPerFrame=20 ; minimize static components ;
r.Streaming.MaxNumTexturesToStreamPerFrame=15 ; minimize textures ;
r.Streaming.AllowFastForceResident=0
r.Shadow.UnbuiltPreviewInGame=0
r.Shadow.CacheNonWholeSceneShadows=1
[CrashReportClient]
bAgreeToCrashUpload=0
bImplicitSend=0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment