Earlier on you might have read about a CD Projekt RED designer espousing the virtues of modifying The Witcher 3's config files in order to look better than it does on Ultra. Well, now we've had a poke around and got hold of a load of visual options for finetuning your Witcher 3 experience.
This isn't totally comprehensive, but it is an overview of the huge number of settings you can play around with above and beyond The Witcher 3's in-game graphics options and settings. With all the talk of a graphical downgrade doing the rounds, if you've got the hardware you should be able to get The Witcher 3: Wild Hunt looks as fine as it does in those preview videos.
Right, first things first, the file you'll be messing with. This can be found in your documents inside a folder called The Witcher 3, typically located at 'C:\Users\USERNAME\Documents\The Witcher 3'. In here you'll find the 'user.settings' file. If it's not there it's because you need to run The Witcher 3 at least once to create the folder. Now you've found it, you'll need to open it up with a text editor, just something basic like Notepad will do.
Inside here you can basically tweak all of the settings to your heart's content, and The Witcher 3 will read them on start-up and apply them. All you need to do is remember to save before you close it, and also right click and file and select Properties. In the new window that pops up, set user.settings to 'Read Only', so it isn't overwritten by The Witcher 3's default settings.
Now, some of these settings changes can be really, really demanding, so you’re advised to make just one change at a time so you can pinpoint exactly what’s so demanding. We haven’t had an opportunity to go through all of these yet, but some, like Grass Quality, can see frame rates dip up to 60% with just a single change in comparison to the Ultra settings.
Ultimately though, with enough hardware behind you, you’ll be able to tweak these ini settings to get it looking as great as you want, possibly even bringing it in line with the visuals of the original demo version.
Detail Level Tweaks
When you set The Witcher 3’s in-game Detail setting, these are the parameters you’re messing with. By default even Ultra is defined to limit the demands of graphics hardware somewhat, but here you can finetune it and go above and beyond CD Projekt RED’s settings.
These ones below are related to the draw distance of static decals - normal static environmental objects. The HideDistance sets when these objects will disappear
from view, while DynamicDecals is effects like blood spills.
- DecalsHideDistance= [Ultra value: 80]
- DynamicDecalsHideDistance= [Default value: 20]
- DimmerHideDistance= [Default value: 60]
- StripeHideDistance= [Default value: 60]
- SwarmHideDistance= [Default value: 200]
DecalsChance below is also related to Detail Level settings. This is basically the chance that certain attacks will create spawned decals, such as blood puddles. 1 is the default, so cranking this up to 10 will greatly increase blood spillage.
- DecalsSpawnDistanceCutoff= [Default value: 10]
- DecalsChance= [Default value: 1]
Foliage Quality Tweaks
Right, onto the all-important foliage options, one of the most criticised aspects in regards to The Witcher 3’s ‘downgrade’ controversy. These .ini tweaks will affect everything from tree density to grass quality and draw distance.
- MaxVisibilityDepth= [Ultra value: 24] - This one reportedly doesn’t do anything with tweaking, the one below is the one you want for more trees.
- FoliageDistanceScale= [Ultra value: 1] Bear in mind Ultra is set to one, and this scales up to six, which can prove hugely demanding. This doesn’t just increase the density of trees but adds more leaves and smaller branches for higher detail.
- cvMaxAllowedSpeedTree - This one can be used for the number of distant trees rendered. Tree models switch to a lower quality model when viewed from a distance, this setting boosts the number.
Grass Quality ini Tweaks
These settings below apply in a similar manner to the tree settings. Changing these is incredible demanding, altering the rendering quality and visibility of every blade of grass on-screen in The Witcher 3. If you’re going to play with these then it’s best to be sensible, switching up to 6 is going to be too demanding for practically every rig, but 3 or 4 could give you a visual boost without too detrimental a hit.
- GrassDistanceScale= [Ultra value: 1]
- GrassGenerationEfficiency= [Default value: 0.075] - Increases amount of grass when value reduced
Shadow Quality Tweaks
All of these tweaks below are related to the in-game Shadow Quality setting which ranges from Low to Ultra. As with previous settings, the upper limit is capped, but you can bust through these by altering the settings below.
- CascadeShadowFadeTreshold= [Ultra Value: 1] - Decrease this value will improve the maximum draw distance for shadows.
- CascadeShadowDistanceScale0= [Ultra Value: 1] - Increasing this value will have an improvement on close-range shadow quality.
- CascadeShadowDistanceScale1= [Ultra Value: 1] - Increasing this value will have an improvement on mid-range shadow quality and visibility.
- CascadeShadowDistanceScale2= [Ultra Value: 1.5] - Increasing this value will have an improvement on shadow quality and shadow visibility..
- MaxTerrainShadowAtlasCount= [Ultra Value: 4] - Increasing this value will have a slight improvement on terrain shadow quality.
- CascadeShadowmapSize= [Ultra Value: 3072] - Increasing this value will have a slight improvement on shadow quality.
- CascadeShadowQuality= [Ultra Value: 1] - Increasing this value will have a slight improvement on shadow quality.
- Lastly for shadow there’s ‘FoliageShadowDistanceScale= [Ultra Value: 54]’. This is determined by Foliage Visibility Range in-game, but can be modified here to a greater degree.
The final set of tweaks relates to texture streaming to your GPU. If your graphics card isn’t have its VRAM maximised then you could find some joy here. TextureMemoryBudget basically determines how many textures are stored on the video memory, reducing texture load-in. The three settings below are finer tweaks on this, relating to the distance at which characters and heads are loaded onto the available memory.
- TextureMemoryBudget= [Ultra Value: 800]
- TextureStreamingCharacterDistanceLimit= [Default Value: 50]
- TextureStreamingHeadsDistanceLimit= [Default Value: 10]
- TextureStreamingDistanceLimit= [Default Value: 40000]
UPDATE: If you're having trouble getting these settings stick, then try deleting user.settings.bak in your Witcher 3 My Documents folder, before making the changes to settings.ini.