About this mod
Patched assembly designed to enhance the game's visual clarity and performance while also increasing shadow distance & object view distance.
- Permissions and credits
- Changelogs
IMPORTANT UPDATE ( 12/21/24)
This mod has been replaced by our latest project, Clarity Plus. Clarity Plus includes all the changes from this patched assembly and is now a Harmony mod, offering improved compatibility and ease of use. We strongly recommend switching to Clarity Plus, as this mod page will no longer be supported or updated by the developer. Thanks to everyone for
your support, click here to check out the new mod!
TAA / Anti-aliasing flicker fix for 7 Days to Die Version 1.0 on Windows
This mod aims to remove flickering on lines and jagged edges while also providing a performance boost and allowing better visual clarity. The difference between this mod and others like it is the fine tuned TAA settings & changes to shadows.
Optional Edition: Contains the TAA Patch, modifications to shadows allowing up to 20% performance increase, and unlocked FOV (High values may cause low performance).
Quality Edition: Contains the TAA Patch, long distance performance modifications to shadows, and more than doubled object & tree view distance that can be configured via the object quality setting in the Graphics quality menu. Includes No Lightning FX & Unlocked FOV.
Features:
- Changes to Anti-Aliasing that aims to remove jagged lines/geometry without introducing blurriness or artifacts.
- Changes to Shadows so they look smoother and appear further away. (Lowered resolution, Higher distance)
- Removed Annoying Blood Moon Lightning Flash FX (Quality version only)
- Increased LODBIAS / Object View Distance (Quality Version only)
- Extended Viewmodel FOV (45->60)
- Unlocked FOV slider (Fisheye effect occurs on values past 105-110. Values above 90 may have a significant performance hit.)
- Multiple versions supporting Windows 10-11 & Linux.
Installation:
1. Navigate to your 7 Days to Die installation. eg. (E:\SteamLibrary\steamapps\common\7 Days To Die).
2. Open the "7DaysToDie_Data" folder, then open the "Managed" folder and find the file named "Assembly-CSharp.dll" then rename this file to "Assembly-CSharp.dll.bak". Copy the newly downloaded "Assembly-CSharp.dll" to the managed folder.
3. Launch the game without EAC and enjoy :)
Usage:
Use the Temporal AA setting with sharpening at 10-30%. Client-side only. EAC must be disabled. Reshade is recommended.
Compatibility:
Compatible with IDC mods, Torch, OCB Mods.
Incompatible with other patched assembly mods. Incompatible with some UI mods.
Version 1.0.3.2 Works with Darkness falls (5.1.0), Wasteland.
Version History:
version 1.2 b27 - 2.2.0.0
Version 1.0 B316 - 2.0.3
Version 1.0 B313 - 2.0.2
Version 1.0 B312 - 2.0.1
Version 1.0 B309 - 2.0
Alpha 21.2 B37 - 1.0.3.2
Alpha 21.2 B30
Alpha 21.2 B26
Alpha 21.2 B26
Alpha 21.2 B14
Alpha 21.1 B16
Credits to jordyyyboy1998 and others who have made contributions in the patched assembly mods section. Old Code changes can be found below.
CODE CHANGES (a21.7)
TAA Fix Code:
Assembly-CSharp.dll->GameRenderManager:210
Fixed Code:
if (aaQuality > 3)
{
mainLayer.antialiasingMode = PostProcessLayer.Antialiasing.TemporalAntialiasing;
mainLayer.temporalAntialiasing.jitterSpread = 0.75f;
mainLayer.temporalAntialiasing.stationaryBlending = 0.95f;
mainLayer.temporalAntialiasing.motionBlending = 0.8f;
mainLayer.temporalAntialiasing.sharpness = sharpness;
weaponLayer.antialiasingMode = PostProcessLayer.Antialiasing.None;
return;
}
Shadows/Flicker Fix Code:
lowered shadow cascades to 2 and lowered shadow resolution to high on optional version and and medium on main version.
Assembly-CSharp.dll->GameOptionsManagers
private static readonly (double aspectLimit, double scaleLimit)[] uiScaleLimits;
static GameOptionsManager()
{
uiScaleLimits = new(double, double)[5]
{
(1.2, 0.75),
(1.26, 0.8),
(1.34, 0.85),
(1.51, 0.9),
(1000.0, 1.0)
};
GamePrefs.OnGamePrefChanged += OnGamePrefChanged;
ValidateFoV();
ValidateTreeDistance();
ValidateHudSize();
}
private static void ApplyShadowQuality()
{
new Vector3(0.06f, 0.15f, 0.35f);
int @int = GamePrefs.GetInt(EnumGamePrefs.OptionsGfxShadowDistance);
switch (@int)
{
case 0:
QualitySettings.shadows = ShadowQuality.Disable;
break;
case 1:
QualitySettings.shadows = ShadowQuality.HardOnly;
QualitySettings.shadowDistance = 150f;
QualitySettings.shadowCascades = 2;
QualitySettings.shadowCascade2Split = 0.33f;
QualitySettings.shadowResolution = ShadowResolution.High;
break;
case 2:
QualitySettings.shadows = ShadowQuality.All;
QualitySettings.shadowDistance = 250f;
QualitySettings.shadowCascades = 2;
QualitySettings.shadowResolution = ShadowResolution.High;
QualitySettings.shadowCascade2Split = 0.33f;
break;
case 3:
QualitySettings.shadows = ShadowQuality.All;
QualitySettings.shadowDistance = 350f;
QualitySettings.shadowCascades = 2;
QualitySettings.shadowResolution = ShadowResolution.High;
QualitySettings.shadowCascade2Split = 0.33f;
break;
case 4:
QualitySettings.shadows = ShadowQuality.All;
QualitySettings.shadowDistance = 450f;
QualitySettings.shadowCascades = 2;
QualitySettings.shadowResolution = ShadowResolution.High;
QualitySettings.shadowCascade2Split = 0.33f;
break;
default:
QualitySettings.shadows = ShadowQuality.All;
QualitySettings.shadowDistance = 550f;
QualitySettings.shadowCascades = 2;
QualitySettings.shadowResolution = ShadowResolution.High;
QualitySettings.shadowCascade2Split = 0.33f;
break;
}
if (GameOptionsManager.ShadowDistanceChanged != null)
{
GameOptionsManager.ShadowDistanceChanged(@int);
}
}
No Lightning Code
Assembly-CSharp.dll->SkyManager:724
if (--SkyManager.lightningFrameCount >= 0)
{
return;
}
LODBIAS Changes / Object & 3D Tree Distance
Assembly-CSharp.dll->GameOptionsManager:240
public static float GetLODBias()
{
int @int = GamePrefs.GetInt(EnumGamePrefs.OptionsGfxObjQuality);
switch (@int)
{
case 0:
return 0.65f;
case 1:
return 0.8f;
case 2:
return 1.2f;
case 3:
return 2f;
case 4:
return 4f;
default:
return (float)@int / 100f;
}
}