KF2 Useful INI Tweaks: Uncapped FPS, More Gore, Better Textures
Killing Floor 2 has several useful settings that the in-game menu does not expose. This guide collects stable, tested tweaks for FPS, textures and shadows, texture streaming, gore, input and audio. An .ini file is just a hidden collection of detailed settings; changing the wrong thing can crash the game, so edit carefully. If anything goes wrong, delete the ini files and the game regenerates defaults. Related reading: the full Tweaks and Improvements guide.
Where the files are
Launch the game at least once so the files exist. They are in:
C:\Users\<user>\Documents\My Games\KillingFloor2\KFGame\Config
Open the file named in each section with Notepad, use Ctrl+F to find each entry, change it, then choose File, Save.
Uncapping the FPS
By default the game is capped at 60 FPS. The Variable Framerate option lets it reach 150 but does not fully uncap it. Some guides say to set bSmoothFrameRate to FALSE, but then multiplayer remains capped at 150, so keep it TRUE.
First turn Variable Framerate OFF in the game settings, then edit:
KFEngine.ini
bSmoothFrameRate=TRUE
MinSmoothedFrameRate=1
MaxSmoothedFrameRate=999
(each entry appears twice in KFEngine.ini; change both instances)
KFGame.ini
bSmoothFrameRate=True
MinSmoothedFrameRate=1
MaxSmoothedFrameRate=999
(bSmoothFrameRate appears twice here as well)
Textures, shadows and reflections
KFSystemSettings.ini, section [SystemSettings]:
DetailMode=5
MinShadowResolution=2048
MinPreShadowResolution=4096
MaxShadowResolution=4096
MaxWholeSceneDominantShadowResolution=4096
ShadowFadeResolution=1024
PreShadowFadeResolution=4096
bEnableForegroundSelfShadowing=True
In the same file, change every TEXTUREGROUP_... line so that it uses MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear (or Point on the lines that already use Point),MipGenSettings=TMGS_Sharpen5. For example:
TEXTUREGROUP_World=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_Sharpen5)
The same pattern applies to the Character, Weapon, Vehicle, Cinematic, Effects, Skybox, UI, Lightmap, Shadowmap, Creature, Weapon3rd, Cosmetic and other groups, including their NormalMap and Specular variants. Keep the MipFilter that each line already has. The author's special cases: TEXTUREGROUP_Shadowmap keeps NumStreamedMips=3, TEXTUREGROUP_ImageBasedReflection uses MinLODSize=256, and TEXTUREGROUP_Bokeh uses MinMagFilter=Linear. Also set InstancedRendering=False.
KFEngine.ini, section [Engine.Engine]:
MaxProcBuildingLODColorTextureSize=4096
MaxProcBuildingLODLightingTextureSize=4096
ImageReflectionTextureSize=4096
Disabling texture streaming
Texture streaming can cause stutter and pop-in. With a GPU that has at least 6 GB of VRAM it is better to disable it so everything loads into VRAM at level start. Most guides only change bUseTextureStreaming, but that does not disable streaming fully; change all of these:
KFEngine.ini
bUseTextureStreaming=False
bUseBackgroundLevelStreaming=False
AllowStreamingLightmaps=False
UsePriorityStreaming=False
UseDynamicStreaming=False
KFGame.ini
bUseBackgroundLevelStreaming=False
More gore and dead bodies
In KFGame.ini, section [KFGame.KFGoreManager], the default values are:
GoreFXLifetimeMultiplier=1.200000
BodyWoundDecalLifetime=30.000000
BloodSplatterLifetime=10.000000
BloodPoolLifetime=20.000000
GibletLifetime=10.000000
MaxBodyWoundDecals=5
MaxBloodSplatterDecals=20
MaxBloodPoolDecals=20
BloodSplatSize=100.000000
BloodPoolSize=125.000000
MaxDeadBodies=15
MaxBloodEffects=40
MaxGoreEffects=15
Recommended values from the author (change to taste, but too high can cause stutter or crashes):
| Setting | Default | Recommended |
|---|---|---|
| MaxBodyWoundDecals | 5 | 20 |
| MaxBloodSplatterDecals | 20 | 80 |
| MaxBloodPoolDecals | 20 | 80 |
| MaxDeadBodies | 15 | 80 |
| MaxBloodEffects | 40 | 80 |
| MaxGoreEffects | 15 | 80 |
Other entries (lifetimes, sizes, AllowBloodSplatterDecals=True, PersistentSplatTraceLength=1000, MaxPersistentSplatsPerFrame=100) stay as they were.
Extra tweaks
KFSystemSettings.ini:FlexRigidBodiesCollisionAtHighLevel=Truemakes dead bodies collide, so they pile up instead of clipping through each other.KFInput.ini:bEnableMouseSmoothing=falseandbViewAccelerationEnabled=Falsedisable mouse smoothing and acceleration for more responsive aiming.KFEngine.ini:AllowNvidiaStereo3d=TrueandMaxChannels=128give more spatially accurate audio and allow many more simultaneous sounds.- Launch option
-nostartupmovies(Steam library, cogwheel, Properties, General, Launch Options) skips the intro videos.
FAQ
- How do I fully uncap FPS in KF2?
- Turn Variable Framerate OFF in the settings, then in KFEngine.ini and KFGame.ini set bSmoothFrameRate=TRUE, MinSmoothedFrameRate=1 and MaxSmoothedFrameRate=999 (change every instance).
- Why keep bSmoothFrameRate TRUE instead of FALSE?
- The author says FALSE uncaps FPS only in singleplayer; in multiplayer it stays capped at 150, whereas TRUE with the values above works in both.
- What if I set gore values too high?
- You may get stuttering or crashes. The guide lists the default values so you can revert, or delete the ini files to regenerate them.