The csp_vr.ini file controls how CSP interacts with your headset’s runtime (OpenXR/Oculus/OpenVR). Tuning this file is essential for removing the “HUD lag” and stabilizing the world-scale during high-speed cornering.
File Path & Setup
- Desktop Mode: Navigate to your Assetto Corsa root folder:
[SteamLibrary]\steamapps\common\assettocorsa\extension\config\ - Locate the File: Open
vr.ini(orcsp_vr.iniin some 2026 builds). - Steam Launch Option: To bypass the SteamVR overhead, ensure you are using OpenComposite or the native Oculus mode, and add
-openxrto your launch options.
Optimized “Sim-Pro” Configuration Table
| Parameter | Recommended Value | Technical Purpose |
CUSTOM_MIRROR_GIZMO | 0 | Disables the secondary mirror render to save GPU draw calls. |
SINGLE_PASS_STEREO | 1 | The Performance King. Renders both eyes in one pass, saving 30% CPU. |
USE_OPENXR | 1 | Forces the 2026 OpenXR standard for the lowest frame-timing. |
VRS_ENABLED | 1 | Enables Variable Rate Shading (Foveated Rendering). |
VRS_DISTANCE | 0.7 | Pulls the high-res ring closer to the center to save peripheral cycles. |
[BASIC]
ENABLED=1
SINGLE_PASS_STEREO=1
USE_OPENXR=1
[VRS]
ENABLED=1
MODE=GAZE ; Set to FIXED if your headset doesn't have eye tracking
SHARPNESS=1.0
INNER_RADIUS=0.4
MIDDLE_RADIUS=0.7
[OPTIMIZATIONS]
USE_CUSTOM_COMPOSITOR=1
DISABLE_EXTRA_FX_IN_VR=1 ; Highly recommended for 90Hz+ stability
HowTo: Engineering the Ultimate VR Lap
Follow these GameEngineer.net technical steps to achieve high-fidelity sim racing:
- The “Extra FX” Trap: In Content Manager, go to Settings > CSP > Extra FX. In 2026, many CSP presets enable Local Reflections (SSLR) and Ambient Occlusion. These are the #1 cause of VR stutter. Disable them entirely for VR; the immersion gain is not worth the $5\text{ms}$ frame-time penalty.
- OpenXR Toolkit Integration: Use the OpenXR Toolkit (Companion App). Enable Fixed Foveated Rendering (FFR) on “Preset: Quality.” This renders the edges of your vision at a lower resolution, which is unnoticeable through the lenses but can boost your FPS by 15–20%.
- AMD FSR / Intel XeSS: In the Graphics Adjustments section of CSP, enable FidelityFX (FSR). Set the resolution scale to 80% and the “Sharpness” to 0.3. This allows you to supersample in SteamVR while the game engine renders at a slightly lower, more stable resolution.
- The “World Scale” Fix: If the cockpit feels too small or too large, find the
[SCALING]section in your ini and adjustVALUE=1.0. For Quest 3 users, a value of1.05often feels more anatomically correct for the 2026 FOV profile. - Post-Processing Filters (PP): Use a VR-optimized filter like “Pure VR” or “Natural Mod.” Standard PP filters like A3PP or Exquisite are designed for screenshots and include heavy “Glare” and “DoF” effects that look terrible and perform worse in a headset.
Technical Explanation: Single Pass Stereo (SPS)
Traditional VR rendering follows a “Double-Call” logic: the CPU sends instructions for the left eye, then repeats them for the right eye.
By enabling SINGLE_PASS_STEREO=1, we utilize a hardware feature found in modern NVIDIA and AMD GPUs. This allows the GPU to take a single set of draw calls and broadcast them to two different viewports (eyes) simultaneously. This effectively cuts the CPU Render Thread time in half, which is the primary bottleneck in Assetto Corsa when racing against large grids of AI cars. Without SPS, your CPU would choke on the “Command Buffer” before your GPU even hits 80% usage.