Exposed settings

+

Guest 2364765

Guest
Exposed settings

Technically this isn't nothing new as there are very few mods of this kind, but so far this is the biggest (and most chaotic) one.
Following mod exposes most of existing engine variables to be tweaked individually from the game config menu.

Warning: some of the variables are hardcoded and changes will not be kept after you close the game, to prevent values from resetting you need to add following entries to your user.settings file:
[Gameplay/EntityPool]
GlobalLimit=(Value of global limit of entities)

[Rendering]
EnableHighPrecision=true/false (most likely enables/disables using FP64 for rendering calculations)
ForcedRendererResolution=true/false (enable separate rendering resolution)
ForcedRendererBackBufferResolution=true/false
ForcedRendererOverlayResolution=true/false
DisableManualProxiesCulling=true/false (probably governs some sort of culling method)


[Streaming/Textures]
UseMipRefiner=true/false

[LoadingScreen/Debug]
DisableVideos=true/false (disable loading screen story dioramas)

Notes:
-MSAA does nothing
-Hairworks MSAA only works up to 8 samples
-Ubersampling crashes the game and prevents it from booting if value is set above 1
-Game is capable of upscaling but not downscaling (thanks consoles)


To upscale your game enable ForcedRendererOverlayResolution and ForcedRendererResolution and it will fit your set "forced" resolution to match your viewport size giving you true console experience! Just don't try downscaling from resolutions higher than your viewport/native res - it doesn't work. At all.
In case you're wondering how it looks:

Native 1920x1080 image in 1920x1080 viewport


1280x720 image upscaled to fit 1920x1080 viewport.


4K image in 1920x1080 viewport (lack of frame scaling to fit the viewport, plus some post processing buffers are freaking out - bottom of the image)


You can get the "mod" from here:
http://www.skacik.pl/downloads/W3/exposedsettings.zip

Paste to: The Witcher 3 Wild Hunt\bin\config\r4game\user_config_matrix\pc
Enjoy.

Here's an approximated list of exposed variables:
Gameplay:
DisableVideos - Disable loading screen story dioramas

PostProcess:
AllowCutsceneDOF - Self explanatory, possibly obsolete.
AllowFog - Self explanatory, possibly obsolete.
AllowUnderwater - Blue color correction when underwater.
AllowMSAA - Placeholder or removed feature, does nothing.
AllowRain - Self explanatory, possibly obsolete.
AllowBillboards - Should control 2d "always facing camera" objects, possibly obsolete.
AllowSoftLight - No idea, possibly obsolete.
MotionBlurPositionTreshold - Probably distance control for MB effect.
MotionBlurRotationTreshold - Probably speed threshold for triggering MB effect.

Localization:
UsePlaceholdersForMissingStrings - Handy for creating w3strings files, shows missing localization keys.

Rendering:
HairWorksGlobalStrandSmoothness - Self explanatory
HairWorksGlobalDensityLimit - Arbitrary maximum density (however density of each HW object is declared within redfur)
HairWorksGlobalDensityQuality - Not sure, but it's about "quality" so go figure.
HairWorksGlobalDetailLODFactor - Level of Detail control.
HairWorksGlobalWidthLimit - Probably controls maximum strand width.
GlobalLimit - Seems to be global limit of spawned entities.
CascadeShadowFadeTreshold - Self explanatory in a certain way. You can research cascaded shadow maps for info.
CascadeShadowDistanceScale0 - Scale of first (and thus, most detailed) cascade of shadow map (nearest to player)
CascadeShadowDistanceScale1 -
CascadeShadowDistanceScale2 -
CascadeShadowDistanceScale3 -
CascadeShadowQuality - Probably some sort of shadow filtering controls.
CascadeShadowmapSize - Resolution of the shadow, engine clamps values below 256.
MaxCascadeCount - Basically determines how many parts your shadowmap will be split into.
MaxTerrainShadowAtlasCount - Probably something similar as above but only for terrain.
MaxCubeShadowSize - Resolution of shadow casted by local light sources, breaks above 512, 640 is last "safe" value.
MaxSpotShadowSize - Resolution of "spotlight" shadows (single surface, not casted "around" source).
TerrainErrorMetricMultiplier - Probably terrain generation controls.
TerrainScreenSpaceErrorThreshold - As above.
TerrainScreenSpaceErrorThresholdFar - As above.
TerrainReadAheadDistance - No idea really, probably controls how far ahead the terrain should be "loaded".
UseDynamicWaterSimulation - Waves, water splashes, etc.
EnableHighPrecision - Probably determines usage of FP64 for rendering, performance may vary depending on GPU(AMD is better at using FP64).
ForcedRendererBackBufferResolution - Allows to force framebuffer to use different resolution than viewport.
ForcedRendererOverlayResolution - Same as above, but for "overlay"?
ForcedRendererResolution - Same as above but for "final" frame?
ForcedRendererResolutionHeight - Self explanatory.
ForcedRendererResolutionWidth - Self explanatory.
GlobalOceanTesselationFactor - Self explanatory, DX11 API limitation is 64 times.
WaterGeometryQuality - Seems obsolete but is present within platform configs.
MaxTextureSize - Self explanatory.
MaxAtlasTextureSize - Same as above but for "Atlas" (grouped) textures.
TextureDownscale - Self explanatory.
DetailTextureDownscale - Self explanatory, applies to detail textures (ones that are applied on objects close to camera)
AtlasTextureDownscale - Self explanatory, applies to Atlas textures.
TextureMemoryBudget - Doesn't seem to do much.
TextureMemoryGUIBudget - Same as above.
MaxTextureAnizotropy - Self explanatory.
TextureMipBias - Self explanatory, you can research mip maps for more info.
MaxVisibilityDepth - No idea, related to foliage.
FoliageDistanceScale - Self explanatory.
GrassDistanceScale - As above.
GrassRingSize - Self explanatory.
FoliageShadowDistanceScale - Self explanatory.
DimmerHideDistance - Controls distance at which "Dimmers" are still visible (whatever those may be).
DynamicDecalsHideDistance - Same as above but most likely for decals like blood, etc.
StripeHideDistance - Same as above but for "Stripes" whatever those may be.
SwarmHideDistance - As above, most likely applies to "swarms" of creatures like rats/birds, etc.
AllowClothSimulationOnGpu - May be obsolete.
DisableManualProxiesCulling - Most likely controls some sort of culling method.
MsaaLevel - Does nothing.
UberSampling - Don't touch, crashes the game.
TextureStreamingReduceGameplayLOD - Probably decreases LOD of textures for normal gameplay.
ForceInstantAdaptation - Most likely disables HDR "eye adaptation" effect.
ForceInstantEnvProbeUpdate - Most likely disables slow blending between environment probes.
EnableTemporalAA - Self explanatory.
MeshRenderingDistanceScale - Doesn't seem to affect anything.
MeshLODDistanceScale - As above.
MeshLodGameplayDownscale - As above.
CharacterLodGameplayDownscale - As above.
TextureStreamingDistanceLimit - Self explanatory.
TextureStreamingCharacterDistanceLimit - As above.
TextureStreamingHeadsDistanceLimit - As above.
DecalsChance - As above.
DecalsSpawnDistanceCutoff - As above.
DynamicDecalsLimit - As above.
UseMipRefiner - Controls feature which should improve the look of downscaled textures.
VisibleObjectsBudget - Probably controls maximum amount of onscreen objects.
MaxParticlesCount - Self explanatory.
MaxEmittersCount - As above but controls amount of particle emitters rather than particles.
DecalBudget - Probably also controls maximum amount of memory allocated for decals.
MaxMeshTrianglesCount - Self explanatory.
MaxMeshChunksCount - No idea.
MaxParticleMeshChunksCount - No idea.
MaxParticleTriangleCount - Self explanatory.
 
Last edited by a moderator:

Guest 2364765

Guest
and what are the best values for all of this settings? if anyone knows of course...
Determine "best". Most variables clearly work in "more is better" way.
Only exceptions are those which have "downscale" in name and mip map bias which below zero is absolutely subjective.
Also cascade distance scales require some understanding, most likely you want to allocate greatest scales to first cascade and lower scales to each next cascade.

As for booleans, you gotta read their names and figure out what it does.
 
Last edited by a moderator:
While true, native support within the game is always preferred.

While true, native support is excessively rare, hence my mentionning of DSR for those who can use it, which is quite a tiny portion of the playerbase. Console or not, Upscale is probably impacting a lot more users than downscale, because yeah, we may be running PC, but few config can run this game in 1440p at a decent framerate.
 
Top Bottom