No More Heroes 3: How to Imporve the Performance (Shadows, Draw Distance and Much More)

There are a lot of variations of .ini tweaks going around, so I decided to compile the relevant commands into one place!

 

Where and What?

Unreal Engine 4 games are very easy to tinker with, with a multitude of commands that do a million different things. These go beyond the “Graphics Settings” menu, and offer a lot more options.

As you may have noticed, NMH3 on PC has an extremely short draw distance, both for objects and shadows. Thankfully, mitigating these graphical shortcomings is extremely easy! (NOTE: Don’t be afraid to play around with the values! See what works best for you in terms of quality/performance)

The following commands need to be pasted onto Engine.ini, located under %LOCALAPPDATA%\No More Heroes 3\Saved\Config\WindowsNoEditor:

[SystemSettings]
r.MaxAnisotropy=16
r.DepthOfFieldQuality=4
r.bForceCPUAccessToGPUSkinVerts=1
r.FastVRam.EyeAdaptation=1
r.ViewDistance=5
r.ViewDistanceScale=5
r.LandscapeLODDistributionScale=3
r.LandscapeLOD0DistributionScale=3
r.StaticMeshLODDistanceScale=0.01
grass.CullDistanceScale=4
grass.DisableDynamicShadows=1
foliage.LODDistanceScale=4
foliage.ditheredLOD=0
foliage.MinimumScreenSize=0.00000001
foliage.MaxOcclusionQueriesPerComponent=128
foliage.MinInstancesPerOcclusionQuery=65536
r.HLOD=1
r.HLOD.DistanceScale=3
r.MipMapLODBias=0
r.MaxQualityMode=1
r.DetailMode=2
r.MaterialQualityLevel=1
r.SkeletalMeshLODBias=-2
r.SkeletalMeshLODRadiusScale=0.03
r.LandscapeLODBias=-3
r.TrueSkyQuality=1
r.SkyLightingQuality=1
r.VolumetricCloud=1
r.VolumetricCloud.SkyAO=1
r.VolumetricCloud.SkyAO.Filtering=1
r.VolumetricRenderTarget.Mode=1
r.SkylightIntensityMultiplier=0.4
r.SkyAtmosphere=1
r.SupportSkyAtmosphere=1
r.SkyAtmosphere.LUT32=1
r.SkyAtmosphere.FastSkyLUT=0
r.SkyAtmosphere.MultiScatteringLUT.HighQuality=1
r.SkyAtmosphere.AerialPerspectiveLUT.FastApplyOnOpaque=0
r.SkyAtmosphere.TransmittanceLUT.UseSmallFormat=0
r.SkyAtmosphere.AerialPerspectiveLUT.Depth=96
r.SkyAtmosphere.AerialPerspectiveLUT.DepthResolution=16.0
r.SkyAtmosphere.SampleCountMin=64.0
r.SkyAtmosphere.SampleCountMax=128.0
r.SkyAtmosphere.DistanceToSampleCountMax=128
r.RefractionQuality=3
r.LightFunctionQuality=1
r.AllowLandscapeShadows=1
r.AmbientOcclusionLevels=2
r.AmbientOcclusionMaxQuality=100
r.AmbientOcclusionRadiusScale=0.03
r.HighQualityLightMaps=1
r.LensFlareQuality=4
r.ShadowQuality=5
r.Shadow.DistanceScale=5
r.Shadow.CSM.MaxCascades=10
r.Shadow.MaxResolution=4096
r.Shadow.MinResolution=4096
r.Shadow.MaxCSMResolution=4096
r.Shadow.MinCSMResolution=4096
r.Shadow.RadiusThreshold=0.001
r.Shadow.CSM.TransitionScale=6
r.BloomQuality=4
r.EyeAdaptationQuality=3

OPTIONAL: Super-Sampling (SSAA)

Tired of all those jaggies and FXAA blurring your game up? Try this command:

r.ScreenPercentage=###

With it, you can render the game at a different resolution than what your monitor can offer (Base value being 100 percent). For example, if you have a 1080p display and set the “###” to “200”, this would make so that the game renders internally at 4K, then downsamples to 1080p, producing a sharp image with a lot less AA. This, of course, is incredibly taxing on the hardware, so you might want to play around with the percentage, or try TAA instead. (next section)

For low-end users, you can upsample too, by setting “###” to something below “100”!

OPTIONAL: Temporal Anti Aliasing (TAA)

NMH3 uses FXAA by default, with three presets in the graphics menu. FXAA is a really cheap but ineffective solution, blurring the living hell out of the game.

In comes TAA, a more sophisticated solution, although not perfect by any means. If SSAA is too taxing for your hardware and still want a decent form of AA, try these commands:

r.DefaultFeature.AntiAliasing=2
r.PostProcessAAQuality=6
r.TemporalAASamples=8
r.TemporalAACurrentFrameWeight=0.12
r.TemporalAAFilterSize=1.0
r.TemporalAACatmullRom=1
r.TemporalAAPauseCorrect=1

OPTIONAL: Screen Space Reflections (SSR)

Here comes a big one. Want nicer reflections? Then you’re kinda not in the right place. You see, NMH3 wasn’t designed with SSR in mind, and so while a lot of areas can look great, others… not so much. I personally recommend against enabling SSR, but if you want to see how it looks or genuinely prefer it, then try these:

r.SSR.Quality=4
r.SSR.MaxRoughness=1
r.RefractionQuality=3

MEGA OPTIONAL: Screen Space Global Illumination (SSGI)

This is a primitive form of ray-tracing, making so that the lighting looks more realistic, with crazy bounce shadows and the sort. However, this is extremely taxing. Not only that, I also don’t think it looks that great most of the time.

If you are an absolute lunatic and/or have a good enough PC to handle SSGI, try this command:

r.SSGI.Quality=4

OPTIONAL: Texture Streaming Commands

UE4 is pretty infamous for its texture streaming system. Here are some commands to help with making it look less bad:

r.Streaming.Boost=4
r.Streaming.HLODStrategy=0
r.Streaming.DefragDynamicBounds=1
r.Streaming.MipBias=0
r.Streaming.FullyLoadUsedTextures=1

Alternatively, you can disable texture streaming outright. Sounds great, don’t it? Well, unfortunately this extends loading times considerably:

r.TextureStreaming=0


Thanks to Somewhat Viable for his great guide, all credit to his effort. you can also read the original guide from Steam Community. enjoy the game.

Leave a Comment