News Background
Latest Updates

Marvel Rivals News

12/16/2024PSYLOCKE.GG Team - Stella

Back to News

Marvel Rivals Optimization Guide

Marvel Rivals is a great game, but - thanks to Unreal Engine 5 - it's not as fast as it could be. Here's how to squeeze the most performance and FPS out of your game.

Post Image

IMPORTANT NOTE

As of 21/12/2024, Marvel Rivals has been patched to disable all Engine.ini tweaks. There is currently no known way to re-enable them, but the Marvel Rivals team has stated that they will be looking into disabling Mouse Acceleration in the upcoming Season 1 Patch.

Introduction

Marvel Rivals is a great game, but - thanks to Unreal Engine 5 - it's not as fast as it could be. Marvel Rivals is built upon Epic Games' Unreal Engine 5, which is a very powerful and fast game engine, which a lot of modern games are built upon. However, most of its newest technologies - such as Nanite, Lumen and More - aren't as fast as their Unreal Engine 4 counterparts.

Many of these technologies have replaced the older ones, meaning you can't fully disable a lot of them. For a highly competitive game like Marvel Rivals, it's important to be able to squeeze the most performance and FPS out of your game. We can use a few tweaks and tricks to help it run as fast as possible.

The following tweaks have been sourced from the community:

  • Clearer Anti-Aliasing by TheHybred: Generally improves the performance of the game by adjusting rendering settings, while keeping visual clarity - unlike many other Engine.ini tweaks.
  • Marvel Rivals Subreddit: Disabled mouse acceleration, to help improve accuracy and reduce input lag.
  • PSYLOCKE.GG: Disabled VSync, and further tweaked settings to retain visual fidelity.

How to Install

  1. Use Windows Explorer to navigate to the %USERPROFILE%\AppData\Local\Marvel\Saved\Config\Windows folder.
    • To easily navigate here, you can press Win + R and type %USERPROFILE%\AppData\Local\Marvel\Saved\Config\Windows
    • If the folder doesn't exist, create it.
  2. Create a new file called Engine.ini in the Windows folder.
  3. Paste the following code into the file, then save it.
  4. Restart your game, and you're done!
Click here to view the Engine.ini
[/Script/Engine.RendererSettings]
=== {Variable} ===
--- {Zero Cost}
r.Lumen.ScreenProbeGather.Temporal.MaxFramesAccumulated=26
r.Lumen.ScreenProbeGather.MaxRayIntensity=4
r.Lumen.Reflections.MaxRoughnessToTrace=0.35
r.Lumen.Reflections.MaxRayIntensity=5.0
r.Lumen.Reflections.SmoothBias=0.85
r.Lumen.Reflections.Temporal=1
r.AmbientOcclusionLevels=4
; foliage.DitheredLOD=1
foliage.DitheredLOD=0
r.SSR.MaxRoughness=0.7
--- {Performance}
r.TemporalAA.HistoryScreenpercentage=200
r.TSR.History.ScreenPercentage=200
--- {Graphics}
r.VolumetricFog.VoxelizationShowOnlyPassIndex=0
r.SkyAtmosphere.AerialPerspective.DepthTest=1
r.Lumen.ScreenProbeGather.ShortRangeAO=0
FX.MaxGPUParticlesSpawnedPerFrame=0
r.AmbientOcclusionStaticFraction=0
r.AllowPointLightCubemapShadows=0
r.LevelStreamingDistanceScale=1
FX.MaxCPUParticlesPerEmitter=20
r.Lumen.DiffuseIndirect.Allow=0
r.Shadow.CSM.TransitionScale=0
r.SceneColorFringeQuality=0
r.Shadow.MaxCSMResolution=1
r.AmbientOcclusion.Method=0
r.Shadow.CSM.MaxCascades=1
r.Shadow.RadiusThreshold=0
r.AmbientOcclusionLevels=0
r.Shadow.CSM.MaxCascades=0
r.EmitterSpawnRateScale=0
r.SSR.HalfResSceneColor=1
r.Shadow.Virtual.Enable=0
r.AllowLandscapeShadows=0
r.MaterialQualityLevel=0
r.Shadow.DistanceScale=0
r.PostProcessAAQuality=0
r.DepthOfField.MaxSize=0
r.ParticleLightQuality=0
r.Shadow.MaxResolution=1
r.HighQualityLightMaps=0
r.LightCulling.Quality=0
r.LightFunctionQuality=0
r.DepthOfFieldQuality=0
r.HalfResReflections=1
r.FastBlurThreshold=0
r.RefractionQuality=0
r.MotionBlurQuality=0
r.TonemapperQuality=0
r.LightShaftQuality=0
r.LensFlareQuality=0
r.SceneColorFormat=3
r.SwitchGridShadow=0
r.DistanceFieldAO=0
r.MaterialQuality=0
r.ParticleLODBias=3
r.GTAO.Downsample=1
r.ShaderDrawDebug=0
r.DFShadowQuality=0
r.HFShadowQuality=0
r.MaxQualityMode=0
r.ShadowQuality=0
r.SSS.SampleSet=0
r.MaxAnisotropy=0
r.LightFunction=0
r.VolumetricFog=0
r.BloomQuality=0
r.SSGI.HalfRes=1
r.SSGI.Quality=1
r.SSR.Quality=0
r.BlurGBuffer=0
r.SSGI.Enable=0
r.DetailMode=0
r.FogDensity=0
r.Atmosphere=0
r.SSS.Scale=0
r.AOQuality=0
r.Fog=0
 
=== {Anti-Aliasing} ===
--- {AA-Preset}
r.TSR.Velocity.WeightClampingSampleCount=0.0
r.TSR.ShadingRejection.Flickering.Period=0.0
r.TSR.Velocity.WeightClampingPixelSpeed=0.008
r.TemporalAACurrentFrameWeight=0.2
r.TSR.History.SampleCount=8
--- {AA-Type}
r.DynamicRes.MinScreenPercentage=100
r.DynamicRes.OperationMode=0
r.TemporalAA.Upsampling=1
r.Tonemapper.Sharpen
r.Upscale.Quality=5
--- {AA-Baseline}
- {TAA}
r.TemporalAA.Mobile.UseCompute=1
r.TemporalAA.R11G11B10History=1
r.TemporalAA.UseMobileConfig=1
r.TemporalAAPauseCorrect=1
r.TemporalAACatmullRom=0
r.TemporalAA.Algorithm=0
r.TemporalAA.Quality=2
r.TemporalAASamples=2
- {TSR}
r.TSR.Resurrection.PersistentFrameInterval=1
r.TSR.Resurrection.PersistentFrameCount=2
r.TSR.ShadingRejection.ExposureOffset=3.0
r.TSR.ShadingRejection.TileOverscan=3
r.TSR.ShadingRejection.SampleCount=0
r.TSR.RejectionAntiAliasingQuality=2
r.TSR.ShadingRejection.Flickering=1
r.TSR.History.ScreenPercentage=200
r.TSR.History.GrandReprojection=0
r.TSR.Velocity.Extrapolation=1
r.TSR.History.UpdateQuality=3
r.TSR.History.R11G11B10=1
r.TSR.Resurrection=0
r.TSR.16BitVALU=0
- {AA-Other}
r.Velocity.EnableVertexDeformation=1
r.VertexDeformationOutputsVelocity=1
r.Velocity.EnableLandscapeGrass=1
r.BasePassForceOutputsVelocity=1
r.BasePassOutputsVelocity=1
r.Velocity.ForceOutput=1
r.VelocityOutputPass=1
r.FXAA.Quality=4
 
=== {Denoising & Deartifacting} ===
--- {DD Lumen}
r.Lumen.Reflections.Temporal.DistanceThreshold=0.03
r.Lumen.ScreenProbeGather.TemporalFilterProbes=1
r.Lumen.ScreenProbeGather.ShortRangeAO=0
r.Lumen.Reflections.BilateralFilter=1
r.Lumen.DiffuseIndirect.SSAO=1
r.Lumen.Reflections.Temporal=1
r.DiffuseIndirect.Denoiser=2
--- {DD Shadowing}
r.AmbientOcclusion.Denoiser.TemporalAccumulation=1
r.Shadow.EnableModulatedSelfShadow=1
r.AmbientOcclusion.Compute.Smooth=1
r.CapsuleShadowsFullResolution=1
r.AmbientOcclusion.Denoiser=2
r.DiffuseIndirect.Denoiser=2
r.AmbientOcclusion.Compute=1
r.AmbientOcclusionLevels=4
r.Reflections.Denoiser=2
r.Shadow.FilterMethod=1
r.Shadow.Denoiser=2
r.ContactShadows=0
r.CapsuleShadows=0
=== {Post-Processing} ===
r.Tonemapper.GrainQuantization=0
r.SceneColorFringeQuality=0
r.SubsurfaceScattering=1
r.DepthOfFieldQuality=0
r.Tonemapper.Quality=0
r.DisableDistortion=1
r.MotionBlurQuality=0
r.LensFlareQuality=0
r.CapsuleShadows=0
r.ContactShadows=0
r.BloomQuality=2
r.SSR.Quality=0
r.Distortion=0
r.VRS.Enable=0
r.FilmGrain=0
 
=== {Unreal Plugins} ===
[/Script/DLSS.DLSSSettings]
bEnableDLSSVulkan=1
bEnableDLSSD3D12=1
bEnableDLSSD3D11=1
DLAAPreset=F
DLSSQualityPreset=E
DLSSBalancedPreset=E
DLSSPerformancePreset=E
DLSSUltraPerformancePreset=F
r.NGX.DLSS.DisableSubsurfaceCheckerboard=1
r.NGX.DLSS.WaterReflections.TemporalAA=1
r.NGX.DLSS.Reflections.TemporalAA=1
r.NGX.DLSS.ReleaseMemoryOnDelete=1
r.NGX.DLSS.EnableAlphaUpscaling=0
r.NGX.DLSS.DilateMotionVectors=1
r.NGX.DLSS.EnableAutoExposure=1
r.NGX.EnableOtherLoggingSinks=0
r.NGX.DLSS.PreferNISSharpen=0
r.NGX.DLSS.AutoExposure=1
r.NGX.LogLevel=0
[/Script/StreamlineRHI.StreamlineSettings]
bEnableStreamlineD3D12=1
bEnableStreamlineD3D11=1
t.Streamline.Reflex.Enable=1
t.Streamline.Reflex.Mode=1
r.Streamline.DLSSG.AdjustMotionBlurTimeScale=1
t.Streamline.Reflex.HandleMaxTickRate=true
r.Streamline.UnregisterReflexPlugin=1
r.Streamline.ClearSceneColorAlpha=1
r.Streamline.DilateMotionVectors=1
r.Streamline.TagUIColorAlpha=1
t.Streamline.Reflex.Auto=1
[/Script/XeSSCore.XeSSSettings]
r.XeSS.Experimental.PreExposure=1
r.XeSS.AutoExposure=1
r.XeSS.Supported=1
[/Script/FFXFSR3Settings.FFXFSR3Settings]
r.FidelityFX.FSR3.ForceVertexDeformationOutputsVelocity=1
r.FidelityFX.FSR3.ReactiveHistoryTranslucencyLumaBias=0
r.FidelityFX.FSR3.ReactiveMaskPreDOFTranslucencyScale=0
r.FidelityFX.FSR3.ReactiveMaskTranslucencyLumaBias=0
r.FidelityFX.FSR3.ReactiveHistoryTranslucencyBias=0
r.FidelityFX.FSR3.ReactiveMaskTranslucencyBias=0
r.FidelityFX.FSR3.ReactiveMaskRoughnessScale=0
r.FidelityFX.FSR3.UseSSRExperimentalDenoiser=0
r.FidelityFX.FI.AllowAsyncWorkloads=0
r.FidelityFX.FSR3.UseNativeDX12=1
r.FidelityFX.FSR3.AdjustMipBias=1
r.FidelityFX.FSR3.HistoryFormat=0
r.FidelityFX.FSR3.AutoExposure=0
r.FidelityFX.FSR3.Sharpness=0.0
r.FidelityFX.FSR3.DeDither=1
r.FidelityFX.FSR3.UseRHI=0
 
[SystemSettings]
r.UseVSync=0
 
[/Script/Engine.InputSettings]
bEnableMouseSmoothing=False
bDisableMouseAcceleration=True
bUseHighPrecisionMouseInput=True
bUseRawMouseInput=True 
bViewAccelerationEnabled=False
InputLag=0.0

That's it!

Your game should now be running 30% to 50% faster than it was before, with better visual fidelity and less blur! This post will be updated as more tweaks become available, or as the community finds better ways to improve performance. Make sure to check out the community members we've sourced from, and show them some love!