The GameUserSettings.ini handles the core engine scalability. In 2026, with the inclusion of routes like the West Coast Main Line, setting everything to “Ultra” is not enough; you must ensure the ResolutionQuality and ViewDistanceQuality are locked to prevent the engine’s dynamic resolution from blurring your gauges.
File Path
Both files are located in the same directory. Note that TSW5 uses a “WindowsNoEditor” folder regardless of whether you are on Steam or Epic.
%USERPROFILE%\Documents\My Games\TrainSimWorld5\Saved\Config\WindowsNoEditor\GameUserSettings.ini
Technical Note: After applying these, set the file to Read-only if you find the game reverts your ResolutionQuality during startup.
Optimized “High Fidelity” Configuration Block
Copy these values into your [ScalabilityGroups] section for a crisp, high-detail baseline.
| Parameter | Recommended Value | Technical Purpose |
sg.ResolutionQuality | 100.000000 | Disables dynamic scaling; keeps 4K/1440p native and sharp. |
sg.ViewDistanceQuality | 4 | Cine-Ultra. Pushes the base draw distance beyond the “3” (Ultra) limit. |
sg.ShadowQuality | 3 | Balanced high-res shadows; 4 can cause “shadow strobing” on tracks. |
sg.FoliageQuality | 4 | Ensures dense grass and trees are visible on distant hillsides. |
sg.EffectsQuality | 3 | High-quality rain on windshields and sparks from third rails. |
[ScalabilityGroups]
sg.ResolutionQuality=100.000000
sg.ViewDistanceQuality=4
sg.AntiAliasingQuality=3
sg.ShadowQuality=3
sg.PostProcessQuality=3
sg.TextureQuality=3
sg.EffectsQuality=3
sg.FoliageQuality=4
sg.ShadingQuality=3
HowTo: Engineering the “Infinite” Render Distance
To fix the infamous “Pop-in” of sleepers and tracks, you must add these SystemSettings to your Engine.ini file (found in the same folder as above).
- The Sleeper Fix: Add
r.ViewDistanceScale=5. This is a multiplier. At5, railroad ties and tracks will render 5x further than the default Ultra setting. - Skeletal Mesh Detail: Add
r.SkeletalMeshLODBias=-2. Locomotives are skeletal meshes; a negative bias forces the highest-detail model to stay active even when the train is far away, preventing the “low-poly” look in external cameras. - Foliage Density: Add
foliage.LODDistanceScale=5. This prevents trees from turning into 2D “cardboard” cutouts as you approach them at high speed (125mph+). - The Sharpness Boost: Add
r.ToneMapper.Sharpen=0.6. TSW5’s TAA (Anti-Aliasing) is notoriously blurry. This post-process sharpen brings back the metallic texture detail on the train bodies. - Anisotropic Filtering: Force
r.MaxAnisotropy=16. This ensures that the textures on the tracks looking toward the horizon stay sharp instead of becoming a blurred mess.
Technical Explanation: Draw Distance vs. CPU Frame-time
In TSW5, every track segment is a static mesh. When you increase r.ViewDistanceScale to 5, you aren’t just taxing the GPU; you are flooding the CPU’s Draw Call pipeline. The CPU must tell the GPU to draw every single sleeper for miles.
If you experience “micro-stutters” while driving, it is likely your CPU reaching its limit. In this case, lower r.ViewDistanceScale to 3 but keep r.StaticMeshLODDistanceScale=0.7. This lower value (0.7 is better than 1.0) tells the engine to keep the detail high for the objects it does draw, providing a “High Detail” look without the massive CPU overhead of rendering the entire county.