The objective is to fix the Shadow Depth Bias ($B_{shadow}$) to prevent “Shadow Acne” (the weird black lines on character faces) and smooth out the transition between global and local lights.
- Directory Path: Press
Win + R, type%LOCALAPPDATA%\ReadyOrNot\Saved\Config\WindowsNoEditor\, and hit Enter. - The Target: Open
Engine.ini. - Pro Tip: If the file is empty, ensure you have launched the game at least once. If the
[SystemSettings]header already exists, do not create a second one; simply add the lines underneath it.
Optimized “Tactical Shadow” Configuration Block
[SystemSettings]
r.Shadow.CSMDepthBias=8
r.Shadow.DistanceScale=1.2
r.Shadow.RadiusThreshold=0.01
r.ContactShadows=1
r.ContactShadows.NonShadowCastingIntensity=0.6
r.Shadow.MaxResolution=2048
r.Shadow.PerObject=1
r.AllowOcclusionQueries=1
Configuration Breakdown & Technical Purpose
| Parameter | Recommended Value | Technical Purpose |
r.Shadow.CSMDepthBias | 8 | The Core Fix. Eliminates flickering lines on SWAT gear and faces. |
r.Shadow.DistanceScale | 1.2 | Increases the distance at which high-quality shadows are rendered. |
r.ContactShadows | 1 | Adds micro-shadows where feet touch the ground, fixing “floating.” |
r.Shadow.PerObject | 1 | Ensures each SWAT officer has a dedicated shadow buffer. |
r.Shadow.MaxResolution | 2048 | Caps shadow quality to prevent VRAM spikes in dense maps like Coyote. |
HowTo: Engineering the SWAT Shadow Pipeline
Follow these GameEngineer.net technical steps to resolve visual artifacts in the 2026 build:
- The “Shadow Acne” Eradicator: The most common issue in Ready or Not is flickering black artifacts on character models. By setting
r.Shadow.CSMDepthBias=8, you increase the offset of the shadow map from the geometry, effectively pushing the shadow “behind” the SWAT mesh ($M_{swat}$). - Fixing the “Floating SWAT” Bug: If your teammates look like they are floating on the floor, it’s because Contact Shadows are disabled. Enabling
r.ContactShadows=1in theEngine.iniadds a small ambient occlusion pass at the contact points, grounding the characters in the scene. - The DX12 Shadow Sync: If you are on an RTX 40/50 series card in 2026, ensure you launch in DirectX 12. The
Engine.initweaks for shadows are significantly more stable on the DX12 pipeline, as it handles the Draw Call ($D_{call}$) overhead for per-object shadows more efficiently. - Flashlight Overlap Optimization: When four SWAT officers all use flashlights in a small hallway, the engine can struggle. If your FPS drops, lower
r.Shadow.MaxResolutionto1024. This reduces the sharpness of the flashlight shadows but prevents the GPU ROPs from choking. - Visibility vs. Realism: If shadows are too dark to see suspects, add
r.Tonemapper.Quality=3to yourEngine.ini. This adjusts the HDR curve to make dark areas more “readable” without washing out the blacks entirely.
Technical Explanation: Cascade Shadow Maps (CSM) and Biasing
Ready or Not uses Cascaded Shadow Maps ($CSM$). This technique splits the view frustum into several zones. The transition between these zones is where the “SWAT Shadow Jitter” occurs.
$$Shadow\_Error = \frac{CSM\_Scale}{Depth\_Precision}$$
By engineering the Depth Bias, you are manually calibrating the precision of the shadow map. This ensures that the engine doesn’t accidentally think the SWAT officer’s vest is “behind” itself, which is what causes the flickering “acne” effect.