A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #
Home » Guides » Code Vein - Better Visuals via Engine Scalability

Code Vein - Better Visuals via Engine Scalability

Written by The Guy   /   Sep 30, 2019    
Code Vein - Better Visuals via Engine Scalability

This will improve the appearance of the game by loading higher quality assets at the cost of performance.

Foreword



Before I get into how to do this, I do want to mention that this will do a few things that may be undesirable

  • Textures will appear to have a "shimmering" effect. This is simply because we are forcing the max resolution option for the texture. It's not actually shimmering, there is just too much detail. This effect may be able to be reduced with further tweaking.
  • Performance will be degraded drastically, especially if your GPU has a low amount of memory.

You can see an example of this config here:

Before Example 1

Code Vein - Better Visuals via Engine Scalability

Lighting is noticeably better, textures have more dense details.

Code Vein - Better Visuals via Engine Scalability

Before Example 2

Code Vein - Better Visuals via Engine Scalability

Noticeably sharper textures, many small models are in their highest detail LODs.

Code Vein - Better Visuals via Engine Scalability

The Code



Head over to

%localappdata%/CodeVein/Saved/Config/WindowsNoEditor/Scalability.ini

Replace it with this:


; Low corresponds to FXAA
[[email protected]]
r.DefaultFeature.AntiAliasing=1
r.PostProcessAAQuality=1
r.Tonemapper.Sharpen=0
r.ScreenPercentage=100.000000
r.TemporalAASamples=0
r.MSAA.CompositingSampleCount=0

; High corresponds to TAA
[[email protected]]
r.DefaultFeature.AntiAliasing=2
r.PostProcessAAQuality=6 ; Cinematic AA quality
r.TemporalAASamples=16 ; Slightly increase TAA Sample count
r.TemporalAACatmullRom=1 ; Enable Catmull-Rom algorithm for TAA
r.Tonemapper.Sharpen=1 ; Sharpen the result to make it DRASTICALLY less blurry.
r.ScreenPercentage=104.000000 ; Slight natural AA
r.MSAA.CompositingSampleCount=0

; Highest corresponds to MSAA
[[email protected]]
r.DefaultFeature.AntiAliasing=0
r.PostProcessAAQuality=6
r.MSAA.CompositingSampleCount=8
r.Tonemapper.Sharpen=0
r.ScreenPercentage=104.000000 ; Slight natural AA
r.TemporalAASamples=0

[[email protected]]
r.ViewDistanceScale=10.0 ; See more
r.SkeletalMeshLODBias=-10 ; Animations scale further
r.StaticMeshLODDistanceScale=0.001 ; Static meshes always load best LOD
r.ForceLOD=-1
b.LevelStreamingMaxLODLevel=3
b.LevelStreamingDistanceRatioForLOD=1.0
b.NetMoveEnableByDistance=-1

[[email protected]]
; Mostly inherited from default scalability settings for "Cinematic"
r.LightFunctionQuality=1
r.ShadowQuality=5
r.Shadow.CSM.MaxCascades=10
r.Shadow.RadiusThreshold=0
r.Shadow.DistanceScale=1.0
r.Shadow.CSM.TransitionScale=1.0
r.Shadow.PreShadowResolutionFactor=1.0
r.DistanceFieldShadowing=1
r.DistanceFieldAO=1
r.VolumetricFog=1
r.VolumetricFog.GridPixelSize=4
r.VolumetricFog.GridSizeZ=128
r.VolumetricFog.HistoryMissSupersampleCount=16
r.CapsuleShadows=1
r.Shadow.MaxResolution=4096 ; This seems to be the engine max
r.Shadow.MaxCSMResolution=4096 ; This seems to be the engine max
r.Shadow.DynamicInsetShadowEnable=1
r.Shadow.DynamicInsetShadowRange=16384
r.Shadow.TexelsPerPixel=16 ; Going any higher seems unreasonable
r.Shadow.GridToCSM=2
r.Shadow.GridTextureSize=4096 ; Going any higher seems unreasonable

[[email protected]]
; Default scalability settings for "Cinematic"
r.MotionblurQuality=4
r.AmbientOcclusionMipLevelFactor=0.4
r.AmbientOcclusionMaxQuality=100
r.AmbientOcclusionLevels=0
r.AmbientOcclusionSampleSetQuality=1
r.AmbientOcclusionRadiusScale=1.0
r.AOAsyncBuildQueue=1
r.AOMaxViewDistance=16384
r.AOMinLevel=0
r.AOScatterInterpolation=1
r.DistanceFieldAO=1
r.DistanceFieldGI=1
r.DepthOfFieldQuality=4
r.RenderTargetPoolMin=4096
r.LensFlareQuality=3
r.SceneColorFringeQuality=1
r.EyeAdaptationQuality=2
r.BloomQuality=5
r.FastBlurThreshold=100
r.Upscale.Quality=3
r.Tonemapper.GrainQuantization=1
r.LightShaftQuality=1
r.Filter.SizeScale=1
r.Tonemapper.Quality=5
r.LightShaftNumSamples=512
r.ReflectionEnvironment=2

[[email protected]]
r.TextureStreaming=0 ; Disable texture streaming
r.MaxAnisotropy=16 ; Max anisotropic filtering
; If streamer doesnt get disabled, below apply
r.Streaming.PoolSize=0 ; Give us a infinite pool
r.Streaming.HLODStrategy=2 ; Load all
r.Streaming.HiddenPrimitiveScale=1 ; Try to keep native
r.Streaming.MaxEffectiveScreenSize=0 ; Disregard screen size
r.Streaming.Boost=512 ; Try for max res textures
r.Streaming.MipBias=-15 ; Pick best mips
r.MipMapLodBias=-15 ; Pick best mips, not sure which is right?
r.Streaming.UsePerTextureBias=0 ; Ignore the developers intended mip bias'
r.Streaming.FullyLoadUsedTextures=1 ; Fully load every used texture
r.Streaming.UseAllMips=1 ; Remove resolution limitations
r.Streaming.DefragDynamicBounds=1 ; Remove dynamic bounds from update loop
r.Streaming.LimitPoolSizeToVRAM=0 ; Remove memory limit
r.Streaming.ScaleTexturesByGlobalMyBias=0 ; Ignore global mip bias
r.HighQualityLightMaps=1

[[email protected]]
; Default scalability settings for "Cinematic"
r.TranslucencyLightingVolumeDim=64 ; Going any higher seems unreasonable
r.RefractionQuality=3
r.SSR.Quality=4
r.SceneColorFormat=4
r.DetailMode=2
r.TranslucencyVolumeBlur=1
r.MaterialQualityLevel=1
r.SSS.HalfRes=0
r.SSS.Scale=1
r.SSS.SampleSet=2
r.SSS.Quality=1
r.EmitterSpawnRateScale=2.0
r.ParticleLightQuality=2

[[email protected]]
; Doesn't seem to be used, but if it is, make it very nice
foliage.DensityScale=8.0
grass.DensityScale=8.0
r.ViewFoliageDistance=800000.0


Make sure to set the file to Read-Only so the game does not modify it.

This works on the "Highest" options; however, for AntiAliasing, "Highest" corresponds to MSAA x8 and "High" corresponds to Cinematic Sharpened TAA.

Game:   Code Vein
Written by The Guy.