Ultra Plus Better Lighting and Performance (not a Reshade)
Better visuals AND performance hotfixes. Fixes stutters, missing LODs (20-40% higher FPS outside), better in-game lighting, fixes noisy RT reflections, fixes low-end PCs! Completely disables Chroma DLL (SLPF).
About Ultra+
Fixes all performance problems:
- Fixes broken LOD definitions in Hogsmeade, transfiguration courtyard, etc.
- Reduces vram usage by >1GB
- Improves stability
- Reworks the texture streamer to fix hitches/stutters
- No slow texture loading
- Completely disables Chroma SDK plugin (SLPF DLL fix is no longer necessary)
- Makes the game playable even on lower-end PCs!
Dramatically improves game visuals:
- Forces higher than cut-scene visuals for the whole game
- Fixes noisy raytraced reflections
- Enables global illumination (either RTGI or SSGI) (Broken in June game, working on it)
- Enables raytraced water (optional)
- Enables raytraced shadows for the whole map
- Improves screenspace reflections
- Removes the sepia look, or improves the fantasy look (optional)
- Disables vignette (optional)
- Better lightshafts
- Better rain (more raindrops)
- Fixes blurriness
- Enables TAA Gen5 (which is used extensively in DLSS also)
- Improves the sky and clouds above cut-scene quality
- Improves lighting on the ground cast from the sky
- Enables more particle FX (bugs, butterflies, dust, etc.)
- Enables raytracing on particle FX (if you use raytracing)
- Enables raytracing integration with particle FX (Insane only)
- Hand-tunes all in-game graphics settings (see what they do below)
Note1: Won’t work with Ascendio (you won’t need it)
Note2: Thank you so much to Stoneydays and Digital Dreams for extended testing, and everyone in the community for testing, feedback and help!
Thank you to ElAnalistaDeBits
Thank you to Twentyonebynine
Thank you to Digital Dreams
About this Guide
- If you’re having problems running Hogwarts Legacy with or without Ultra+, this guide will have the answer. Please remember to endorse if it’s useful.
- It’s common to find problems in the game’s config files that only show when activating the rest of Unreal Engine 4 (which Ultra+ does). Please see the Sticky Post for easy fixes.
- If you’re not having problems, you hopefully won’t need most of this page — go to Quick Start
- Ultra+ can be tuned to your liking, see Extra Options below.
Which “Type” to Choose?
- Basic — If you’ve never been able to play, try this! Basic is a lot like the vanilla game’s performance with smoother fps and fixed stutters. Reduces vram requirements and I’ve been told by many they could play the game for the first time. The Basic version is unique in that it respects the games in-game graphics settings, and doesn’t override them too much, so you can tune this version to your liking. Designed for Geforce 1xx0, 20×0 series and AMD equivalents. All in-game graphics settings (Low, Medium, High, Ultra) are supported.
- Full — Has the highest visual quality changes that don’t affect performance too much. It’s based on the “Ultra” game settings. With that said, a lot of work has been done to fix performance problems in the vanilla game for all versions of this mod, and you may be able to play on Ultra even if you couldn’t before. Designed for Geforce 20×0, 30×0 and AMD equivalents. Except for Texture Quality and View Distance, only “Ultra” in-game graphics settings are tested and supported (it is called Ultra+, after all )
- Insane — Insane puts quality first and is designed for high-end cards, but it still optimises performance and doesn’t do anything unnecessarily expensive. but still doesn’t do anything that’s unnecessarily expensive. Mostly, Insane further increases the quality of RT reflections, volumetric fog, increases the view distance beyond default (by 2.5x), and enables raytracing on particle FX (spells, field guide trails, fireflies, etc.) It is the most stunning version, but denoising the RT reflections and view distance do push things to their limits. It’s designed really for 3080/3090 and 40×0, and AMD equivalents (possibly lower if you don’t mind smooth 30fps). Insane used to include raytraced water (lakes, rivers, etc.), please let me know in Posts if you want this back. Except for Texture Quality and View Distance, only “Ultra” in-game graphics settings are tested and supported.
Pak or INI?
There are two versions of Ultra+
- The pak-only version, which allows you to configure the mod by changing the regular in-game settings (see In-Game Graphics Settings below). This version is out of date and slower, but easy. I will update it once v8 series is fully tested by the community.
- The INI version, which has a a few Engine.ini’s to choose from, and some pak files to choose from. This is always fully up to date.
- The INI and pak are identical if they have an identical version — i.e. v7.1-ini will be the same as v7.1-pak
Quick Start
For the pak-only version:
– Copy the pak to C:\Program Files (x86)\Steam\steamapps\common\Hogwarts Legacy\Phoenix\Content\Paks\~mods
– If the ~mods folder doesn’t exist please create it
– Note: There is no additional menu for the pak-only version. It changes the existing in-game graphics menus. See the section in green
For the INI version:
– Copy the pak file to the same ~mods folder (note: Raytraced skylight looks amazing but needs at least an RTX 3070)
– Choose an INI type, then copy it to %LocalAppData%\Hogwarts Legacy\Saved\Config\WindowsNoEditor folder (overwrite the existing Engine.ini)
– Copy a colour grading pak to the ~mods folder
– Copy the Disable Vignette pak too if you don’t like vignette)
Make sure to delete any old Engine.ini and Ultra+ pak files (the game will create a new Engine.ini automatically if you’re using the pak-only version.
Disable VSync! Ultra+ enables a new method which shouldn’t tear. If VSync is enabled it will badly hurt FPS.
Important: Calibrate your black point on the first in-game Graphics Page 1 > two thirds down > Image Calibration, This will make the mod darker or lighter
All versions: Configure your texture pool size by changing the game menu’s Graphics Settings > Texture Quality. For
– For 4GB vram – Use Low (2000MB)
– For 6GB vram – Use Medium (3000MB)
– For 8-10GB vram – use High (4000MB)
– For 12GB+ vram – use Ultra (6000MB)
Note1: Ultra+ significantly reduces vram usage enabling larger texture pools (other advice about poolsize do not apply to this mod)
Note2: The Texture quality setting won’t make a huge difference to how Ultra+ looks — Congrats you can now play the game well with 4GB vram!
Pak version: For 4k resolution set in-game Graphics > Post Processing to “Ultra”. For 1600p or lower resolution, set this to “High”
Note1: I still recommend going through all steps in How to Use below
Note2: If you have crashes, there are problems with your game config files, see Troubleshooting Guide below to fix them
If you any need help please ask in Posts. Don’t forget to endorse if you like it
Endorsements
“Just wanted to say, out of all the mods and tweaks I’ve been doing to get RTX and Ray Tracing features to work with decent performance in this game, this one actually did it.”
— TheJuggler17
“You are legitimately a godsend, thank you so much. This is the ONLY fix that works for me and solves all of my technical issues with this game, not to mention that it makes the game look so much better without a huge performance hit”
— ChristianLangano
“Thank you again for all the effort you’re putting into this clearly essential mod for many users.”
— Korzun
In-Game Graphics Settings
The v7.x pak version of this mod (not the INI version) changes the in-game graphics settings so you have full control over the Ultra+’s settings. This version might take me longer to update due to the added complexity, on the other hand it’s also the easiest to use.
The v7.x INI version of this mod only uses the pak file for settings which can’t be changed in the ini files.
Here is everything the in-game graphics settings in the pak version do:
Graphics Settings – Page 1
- Colour fringe is force-disabled
- Motion blur can be enabled/disabled
- Lense flare is force-disabled
- Depth of field can be enabled/disabled
- Film grain can be enabled/disabled
Graphics Settings – Page 2 -> Raytracing
- RTAO enabled (and raytracing on) –> use RTAO
- RTAO disabled (and raytracing on) –> use RTGI
- All raytracing disabled –> use SSGI
Raytracing Quality
High performance impact
- Ultra RT water, RT shadows for entire map, nicest RT reflections (similar to Insane + RT water)
- High Regular water, RT shadows for entire map, nicest RT reflections (Insane)
- Med SSGI, RT shadows up close (about 70 metres), good RT reflections (Full)
- Low SSGI, fastest RT reflections, no RT shadows (Similar to vanilla)
View Distance Quality
High impact — Affects vegetation, grass, and buildings
- Ultra Same as cut-scene, but farther view-distance. High fps cost (Insane)
- High Same as cut-scene, sensible view-distance (Full)
- Med Good balance of performance and quality (Full with “Med” view distance)
- Low Fast without sacrificing everything (Full with “Low” view distance)
Fog Quality
Medium impact
- Ultra Same as cut-scene (Insane)
- High Close to cut-scene with performance-focused improvements (Full)
- Med Very nice lighter smoother fog. Fast
- Low Fog disabled
Sky Quality
Low-medium impact — Affects sky and clouds, but also lighting cast onto ground
- Ultra Same as cut-scene, gorgeous clouds and light thrown onto ground (Insane)
- High Similar to cut-scene with performance-focused improvements (Full)
- Medium Fast version of Ultra+ sky
- Low Performance focused
Texture Quality
(PoolSizes are now higher due to more saved memory)
- Ultra 6000MB PoolSize (for 12GB cards)
- High 4000MB PoolSize (for 8-10GB cards)
- Medium 3000MB PoolSize (for 6GB cards)
- Low 2000MB PoolSize (for 4GB cards)
Post-processing
No performance impact
- Ultra Ultra+ colours (Reserved for future functionality)
- High Ultra+ colours
- Medium Tweaked vanilla colours
- Low Vanilla colours
AntiAliasing
Low impact
- Ultra TAA Gen5, 16 samples, PostProcessAAQuality 6
- High TAA Gen5, 8 samples, PostProcessAAQuality 6
- Medium TAA Gen4, 8 samples, PostProcessAAQuality 6
- Low TAA Gen4, 8 samples, PostProcessAAQuality 4
Effects
Low impact — Increases or reduces the quality of:
- Screenspace reflection quality (water and reflective/shiny surfaces)
- Subsurface scattering quality (on skin)
- Particle effects quality (including fire and spells)
Detailed How-Use Instructions
Full instructions if you want the best performance possible (it’s worth it)…
- Install the game on an SSD wherever possible, it needs a fast disk
- Run the game at least once
- (Required) Copy zzzUltraPlus_xxxx.pak to C:\Program Files (x86)\Steam\steamapps\common\Hogwarts Legacy\Phoenix\Content\Paks\~mods (if the folder doesn’t exist just create it)
- Set your PoolSize by changing Graphics Settings > Texture Quality. Don’t set the poolsize manually. The mod manages this through the in-game Graphics Settings. (This is the only thing Texture Quality really does with Ultra+ installed.) This way you can experiment and find what works best for you. With Ultra+ you can set it to exactly half your VRAM (guides about setting PoolSize manually do not apply to this mod). You won’t actually see much of a difference between Texture Quality levels! … Only that if you set it too high, the game will run poorly.
- Disable VSync. Ultra+ enables a new method which shouldn’t tear. If VSync is enabled it will badly hurt FPS.
- Make sure not too much is running in the background in Windows.
- (Required) On the first graphics settings page about 2/3 down, click Image Calibration and follow the instructions. This sets your black point. If the game is too dark for you, come back to this page and nudge it around
- (Recommended) in Windows -> Display Settings -> Graphics Settings (at the bottom) -> Enable Hardware-accelerated GPU scheduling. Also enable Variable refresh rate if you have it
- (Strongly recommended) Disable Control Flow Guard in Windows. Click Start > type Exploit Protection > Click Program Settings > Click Add program to customize > click Add by program name > type HogwartsLegacy.exe > Scroll down to Control flow guard (CFG) > Click Override > Switch it to Off. Done! You should get even fewer hitches. If the game was running you need to restart it
- (Optional) Update the DLSS DLL (version 3.1.13 is included with the mod). You really won’t notice much difference though
- (Required) Raytraced reflections require DLSS or DLAA, or FSR in this game
- (Required) If you’re using any raytracing in-game, set the RT quality to Ultra. I’ve clamped performance optimisations for RT in the mod. Changing RT from Ultra won’t give you any more performance, but it will probably break things.
- (Recommended) Ultra+ now completely disables the the Ryzen Chroma DLL plugin — you no longer need Stuttering and Low Performance Fix (SLPF)
- (Optional) enable resizable bar if you can. This game copies a LOT from CPU to GPU. It’s not necessarily about CPU cores but it’s definitely about CPU to GPU bamdwidth. Even a reBar of 1 or 2GB can helps
- (Recommended) disable PCI Express Link State Power Management in Windows Power Plans (here’s how). No this isn’t the root cause problem, but enabling as much CPU > GPU bandwidth as possible helps this and other games
- (Recommended) if you’re due to update your video drivers, use Display Driver Uninstaller (DDU) in Safe Mode to completely remove the old drivers and reinstall from scratch. It shouldn’t… but I still hear of games being fixed by this. I recommend the NVidia Studio Drivers, or AMD Recommended drivers, because they’re fully tested
- If you want/need more FPS, see Extra Option 12
About flush-mem
I’ve included a basic tool that flushes unused memory in Windows. A lot of people recommend ISLC, however if ISLC is sitting in the background flushing memory while the game is running, this will cause problems. Either set ISLC to manual mode while the game is running, or just use flush-mem.
I also do not recommend reducing the system time resolution to 0.5 in ISLC.
About clear-shader-caches
As the game has been upgraded, or for some unknown reason, some people’s games develop problems in the shader cache files. This tool is not intended to be run all the time. But if nothing else has worked, it’s super useful to try. The game does not build all shaders (even if you tell it to) so it can make performance *worse* for the first ~1 hour of playing after clearing caches.
Low GPU usage?
Be aware switching to task manager lowers the priority of the game so will show you lower GPU – you need to use MSI Afterburner, MangoHUD, or UUU for accurate GPU readings
Ultra+ is well tested. If you have any problems please see the Troubleshooting Guide below or report the issue in Posts
Performance
Ultra+ will override many settings and push quality way beyond what the game can normally do. If you run everything at “Ultra” now it will look incredible, but this has a performance cost. For improved performance:
- Reduce View Distance
- Make sure your Texture Quality (PoolSize) is right
- Reduce Foliage and Sky to High if you need to
If you have textures not loading properly and your PoolSize is set correctly, try changing from DLAA to DLSS. DLAA uses a lot of memory and is difficult for 8GB or less cards.
Extra Options
For the pak versions of Ultra+, you can still add commands to your Engine.ini. Add a line at the bottom called [SystemSettings] then add them under there.
Extra Option 0 – GTAO RTGI ?
I’ll be honest, I don’t know what this option is exactly – there’s very little if anything documented about it – but it looks amazing. It seems like it’s only available when you’re using RTGI. It also has no additional performance cost on top of RTGI. See examples in very last screenshots.
Change the following line from 0 to 1 in Engine.ini (or add the line):
r.AmbientOcclusion.Method=1
Extra Option 1 – Fix micro-stutters
I haven’t enabled this by default because it comes with a performance cost. But for some people this is annoying, so here’s how to fix it. In the default Ultra+ there is one setting, r.FinishCurrentFrame, which can present a frame early. However, this does cause micro-stutters. Disabling it (setting it to ‘1’) can cost around 20% of your FPS, so significant, but the experience is buttery-smooth (at least it should be! if it’s not, leave feedback in Posts)
r.FinishCurrentFrame=1
Extra Option 2 – Sharper or Softer Image
I saw someone using this mod with LumaSharpen (Reshade), however you probably don’t need to. If you want a sharper image, try changing r.Tonemapper.Sharpen=1.0 … l in the Engine.ini … values of 1.0 to 1.8 work well…
r.Tonemapper.Sharpen=1.3
Extra Option 3 – Screenspace Global Illumination
Originally Ultra+ used SSGI, and it still looks nice especially in the “original” colour grading version of the mod. To re-enable it, change the following line from 0 to 1 (it costs a few to several fps):
r.SSGI.Enable=1
Extra Option 4 – Disable Fog
As of v3.5 Ultra+ now reduces fog up close, but leaves it enabled in the distance. So you may find you no longer need to change this, however you still can if you want no fog at all.
To disable, DON’T set r.Fog to zero – it causes crashes. Instead to disable fog, add the following anywhere under [SystemSettings]
r.VolumetricFog=0
If instead you want a reduced fog which looks really nice, change this line from 0 to 1:
r.VolumetricFog.VoxelizationShowOnlyPassIndex
Extra Option 5 – Sharper/Softer Skin Texture
Some people seem to not like the skin subsurface scattering, and it depends a lot on what face/makeup mods you’re using also. To increase or reduce subsurface scattering, change r.SSS.Scale to 0.6 to 4.0 work well, e.g:
r.SSS.Scale=1.6
Extra Option 6 – User Interface (UI) Scaling
To make the UI smaller, add the following to the Engine.ini just above [SystemSettings], where “0.85” is the percentage of the UI you want. 0.70 to 0.95 work well. This affects the HUD and all UI elements.
Applicatijavascript-event-stripped0.85
Extra Option 7 – Raytraced Skylight
To enable the raytraced skylight use the RTSkylight pak instead of the regular one. This will cost several FPS to do properly because the denoiser in UE4.27 isn’t great. I’d recommend at least an RTX 3070 or higher.
In really really dark areas RT skylight can look messy. In the Engine.ini you’ll find r.RayTracing.SkyLight.SamplesPerPixel … this can be HARD on your GPU. It really needs to be 64 at least — but even 100 works well if you can manage it. Personally I run at 32px and just deal with the noise.
If you want/need still more FPS, use the Basic version of Ultra+, and change your graphics settings as you please. The Basic version only overrides the really important settings, and uses spatialresolve as standard.
Performance
Note: Ultra+ is designed to squeeze as much quality out of HL as possible, while staying as performant as possible. In many cases it actually fixes low FPS problems and stutters. To achieve the visual quality it does all the time, it actually improves performance and memory usage in several areas.
However it is not a fastest FPS mod. With that said, there is a Basic version included with every download, which many people have had success with. The Basic version doesn’t override many quality settings it doesn’t need to, so you can tune performance to your liking in graphics settings, while still having better graphics and textures of Ultra+
As a rough guide, I have a 115W 3070 Ti 8GB and Intel 12650H CPU in my laptop with 32GB memory. Despite what you might have heard, 16GB or 32GB of system memory makes little difference
Using Ultra+ Full with no raytracing:
- All settings Ultra
- I get super-consistent 60-70 fps even in Hogsmead and Hogwarts
- At 1600p (2560×1600) DLSS Quality
- At 1600p DLAA I get 50-60 fps
Using Insane RT with all raytracing enabled:
- All settings Ultra
- I get super consistent 40-60 fps depending on location
- At 1600p DLSS Quality
See the chart above for which Ultra+ to use!
Compatibility
Ultra+ should work correctly with all other mods except for other Engine.ini mods. From what I’ve seen, they probably work very differently from Ultra+
- Ascendio is not compatible with Ultra+
- If you use Cinematic Ultra, make sure you use the ini version, and delete the PoolSize lines. Ultra+ must be able to set the poolsize
- Flickering hair shadows are not fixable from the Engine.ini, however there is now Hair Shadows Fix in Conversations mod! (I haven’t had a chance to test this yet)
- You should no longer need the Stuttering and Low Performance Fix (SLPF) mod, because Ultra+ completely disables the Chroma SDK Unreal Engine plugin. However there is no harm in installing this.
Troubleshooting Guide
If textures are potato change all graphics settings to Low and then back again.
Full troubleshooting list… These steps get more aggressive as you go down the list:
- Follow every step of the How to Use! For v5.x make sure you’ve copied the new pak file
- Check you’re on the newest version of the mod. I regularly fix issues
- Switch to DLSS (or FSR2 or XeSS). DLAA and TAA are the heaviest because they use more memory. DLSS etc. has a lower screen resolution which saves a lot of vram
- Lower some settings (especially view distance, followed by foliage, and sky). You won’t notice much difference with these lower
- If your GPU is not using close to 100%, check if some CPU cores are stuck at 100%. if so you can try changing r.RayTracing.AsyncBuild to 0, which moves some of the raytracing work from the CPU to the GPU
- Try without any Blueprints mods. If these aren’t very carefully written, they can increase the game thread time, which increases the frame time (which will kill your FPS, even though the GPU isn’t doing much. Sound familiar? Check your mods)
- Some people have reported deleting ini files has helped (GameUserSettings.ini etc… from %LocalAppData%\Hogwarts Legacy\Saved\Config\WindowsNoEditor\). I would recommend backing them up first, then just delete them all. The game will recreate them
- Some people have reported deleting or renaming the %LocalAppData%\Hogwarts Legacy\Saved\Config\WindowsNoEditor\pc_info.json file fixes issues
- Ensure your video and PC drivers are up to date. Hogwarts Legacy won’t work with drivers before 528.49. I recommend the Studio drivers as they go through full regression testing (If you suspect driver problems, use DDU in Safe Mode to completely remove all old video drivers, then reinstall them in regular Windows mode)
- Close as many background programs as possible. Even having Epic Games Launcher running in the system tray causes me problems (which is crazy because Epic make Unreal Engine, which this game runs on!)
- Clear the DirectX shader cache and Hogwarts game cache. There is a new tool called clear-shader-caches included with v3.5 which does it for you. Many people have had problems going to a newer version of Ultra+ (or using it for the first time) and clearing the caches has fixed it
- If you have ISLC or another memory cleaner running in the background and it’s cleaning memory while the game is running, the game is more likely to stutter and crash with Ultra+. While it’s great to flush memory in between game runs, it’s not good while it’s running
- If ISLC (or other) is reducing the system timer resolution to 0.5ms, this could also cause instability. Unreal Engine runs smoother at a system resolution of 1.0ms (which is what the game requests — more is not necessarily better)
- Try disabling Steam overlay, or any other overlays (Ansel, MSI, etc.). I haven’t had a problem with it, but it can reportedly cause performance issues with Hogwarts
- Verify game files in Steam. (Right-click game > Properties > Local Files > Verify integrity…) Remember after doing this you will need to re-copy DLSS and SPLF)
- If you’re having screen flickering issues, disable Windows Multiplane Overlay (MPO) – the reg file is available NVidia, and included in v3.3 (requires reboot)
- Verify your Windows install. 1) Ensure you have a good backup of any important files, 2) Right-click Command Prompt and click Run as Administrator > type dism /online /cleanup-image /restorehealth 3) reboot if required, 4) run Commend Prompt as admin again, 5) type sfc /scannow 6) reboot if required
I realise this guide is involved… If anything is not clear somewhere please let me know so make it clearer.
About the Individual Tweaks
(Moved to text file inside the mod.)
Uninstalling
Just delete the Engine.ini and the pak. The game will recreate the default Engine.ini.