Hogwarts Legacy

File information

Last updated

Original upload

Created by


Uploaded by


Virus scan

Safe to use

About this mod

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).

Permissions and credits

>>>> Read the instructions <<<<

This mod is extremely well tested. BUT if you just install it without reading the instructions you will possibly have a terrible time. Instructions are in green below.

This is not like any engine.ini mod you've seen before. It makes the game do things the devs never thought about, and can cause some known issues (low fps or crashes). The fixes, however, are easy and are all in the sticky posts.

So please DO read 😊

About Ultra+

Fixes all performance problems:

  • Increases number of LODs everywhere, improving raytracing performance, 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 (RTGI if you use raytracing or SSGI if not β€”some lighting paks only)
  • 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!

Additional Lighting Mods

There are 4 lighting mods included with Ultra+. There are also two new lighting mods specifically designed to work with Ultra+:

Note: Only use one lighting mod (either the ones included with Ultra Plus, OR one of the standalone ones).

How Does it Look?

Thank you to Digital Dreams!
Ultra+ with Hary's Uber Lighting and Ultra Fog using Ultra+ v9.1


"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

About this Guide

  • If you're having problems running Hogwarts Legacy with or without Ultra+, this guide will have the answerPlease 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, 20x0 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 20x0, 30x0 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 40x0, 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.

Quick Start

Note There are no additional menus for v9.1. It changes the game's graphics menus.

If you do not get them right, the game will run TERRIBLY. See the section in green below for how in-game graphics settings work.

  • Make sure to delete any old Ultra+ pak files
  • I recommend running the script in Solutions > Crash on startup OR low FPS first, because so many people have problems in the game's config files that only cause issues when you use this mod (they probably won't cause problems with vanilla). Note: The script will overwrite your ini files. See inside the folder for more details.
  • Choose an INI type and copy it to %LocalAppData%\Hogwarts Legacy\Saved\Config\WindowsNoEditor folder (overwrite the existing Engine.ini)
  • Copy an Ultra+ pak file to ~mods folder (note: raytraced skylight needs at least a 3080. Use the regular pak if you don't have a high-end card.)
  • Choose a Lighting pak and copy it to ~mods as well, either one included with Ultra+, OR Hary's Uber Lightingο»Ώ or Fairy Tale Lighting ο»Ώ(Hary's Uber Lighting or Realism Lighting enable SSGI/RTGI). Note: Only install one lighting pak
  • Disable VSync! Ultra+ enables a new method which shouldn't tear. If you need VSync for your monitor enable it in the GPU control panel (you'll see more games like this)
  • 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 (1800MB)
         - For 6GB vram - Use Medium (2800MB)
         - For 8-10GB vram - use High (3800MB)
         - For 12GB+ vram - use Ultra (5600MB)

           Note1: Ultra+ significantly reduces vram usage. Other advice about poolsize does 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! 😊
    9. Read the sticky Posts for fixes for problems, especially low FPS. this is a bug with the game, not with this mod (there's a fix
        provided in the mod downloads)

: I still recommend going through all steps in How to Use below
Note2: If you have crashes or low FPS, there are problems with your game config files, see the Stickies in Posts and 
Troubleshooting Guide below

If you any need help please ask in Posts. Remember to endorse if you like it 😊

v9.1 In-game's Graphics Settings

For v9.1 you control Ultra+'s quality and performance by changing the in-game graphics settings. As a rule of thumb, Ultra is now Ultra+, High > Ultra, Med > High, and Low is performance optimised with visual improvements.

The game will still look incredible even with lower graphics settings because of the other work this mod does. If you just push things to Ultra and don't follow the below, I cannot help you β€” please use v9.0 which controls all this stuff for you 😊

Here is what I use on my 3070 Ti

  • Raytracing - Medium
  • View Distance - Medium
  • Texture Quality - High
  • Fog - Medium
  • Sky - Ultra
  • Post-processing - Ultra
  • Effects - High
  • Foliage - High

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 (Hary's Uber and Realism lighting paks only)
  • RT Reflections on or off (on is required for raytraced water)
  • RT Shadows on or off
  • All raytracing disabled --> use SSGI

High performance impact
  • Ultra       RT shadows for entire map, super detailed RT reflections, highest quality RTAO and RT shadows, raytracing on particles
  • High       Detailed reflections, RT shadows for entire map, faster RTAO and RT shadows (but still nice), no RT on particles
  • Med        Performance RT reflections, RT shadows for entire map
  • Low        Performance RT reflections, RT shadows for 50 metres only

View Distance
High impact
Affects vegetation, grass, and building draw distances

  • Ultra       Same as cut-scene, but farther view-distance (2.5 to 4.0x). High fps cost
  • High       Boosted view-distance (1.3x to 2x)
  • Med        Vanilla view distance (1.0x)
  • Low        Performance view distance (0.7x) 

High 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)

High impact
Controls the density and stop distance of grass and foliage (which is also affected by View Distance).Medium impact

  • Ultra       Similar to cut-scenes but faster (insane resolution)
  • High       Similar to Vanilla Ultra but with performance improvements
  • Med        Performant fog
  • Low         No fog

Low impact
Affects sky and clouds, but also lighting cast onto ground
  • Ultra        Same as cut-scene, gorgeous clouds and light thrown onto ground (1.0x internal resolution)
  • High       Similar to cut-scene with (0.8x) performance-focused improvements
  • Med        Fast version of Ultra+ sky (0.7x
  • Low        Performance (0.5x). Interestingly this is about "High" in Vanilla!

Texture Quality
Game-breaking impact
(PoolSizes are now higher due to more saved memory)

  • Ultra        For 12GB+ cards
  • High       For 8-10GB cards
  • Med        For 6GB cards
  • Low         For 4GB cards

Low impact
  • Ultra       No compromises post-processing
  • High       Few compromise, mostly not visible
  • Med        Some visible compromises
  • Low        Help me Obi-Wan, you're my only hope

Low impact
  • Ultra       TAA Gen5, 16 samples, PostProcessAAQuality 6
  • High        TAA Gen5, 16 samples, PostProcessAAQuality 5
  • Med        TAA Gen4, 8 samples, PostProcessAAQuality 5
  • Low         TAA Gen4, 8 samples, PostProcessAAQuality 4

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 you need VSync enable it in your GPU's control panel
  • 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 
  • Read the sticky Posts for fixes to problems, especially low FPS. this is a bug with the game, not with this mod (there's a fix provided in the mod downloads

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
  • I don't believe the GPU usage % is accurate in this game if it's based on frame start/stop times (because it starts and stops it's frames a percentage into the frames)
  • Ultra+ is well tested. If you have any problems please see the Stickies in Posts or Troubleshooting Guide below

My other mods

Hogwarts Legacy
Robocop: Rogue City
Cyberpunk 2077
Star Wars: Jedi Survivorο»Ώ

Optimising FPS

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, however this has a performance cost. It's worth understanding I have optimised the mod for "stable frametime" (how smooth it looks), over "high FPS", because above 60fps if a game doesn't look smooth it's likely a frametime issue.

For improved performance:
  • Reduce View Distance to Medium (vanilla "Ultra")
  • Reduce Effects to High
  • Reduce Foliage to High
  • Make sure your Texture Quality (PoolSize) is correctly

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 lower cards.

Extra Options

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):

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)

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 0.6 to 1.5 work well...

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):

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]

If instead you want a reduced fog which looks really nice, change this line from 0 to 1:

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:

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.

Extra Option 7 - Raytraced Skylight
To enable the raytraced skylight use the RTSkylight pak instead of the regular one. This will cost a huge chunk of 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.


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 improves performance and memory usage in several areas.

The purpose of the different INI files is to tune Unreale Engine's timing for low, medium, and high-end PCs and GPUs. See the readme in that folder for more info.

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 High except View Distance Medium, Post-processing Ultra
  • I get super-consistent 60-70 fps even in Hogsmead and Hogwarts
  • At 1600p (2560x1600) DLSS Quality
  • At 1600p DLAA I get 50-60 fps

Using Insane RT with all raytracing enabled:
  • All settings High except View Distance Medium, Post-processing Ultra
  • I get super consistent 40-60 fps depending on location
  • At 1600p DLSS Quality


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+
  • Cinematic Ultra, is probably not compatible, but if you want to try, 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 which works great
  • Stuttering and Low Performance Fixο»Ώ (SLPF) mod β€” 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
  • Message me in Posts. The more detail you provide the more I can help 😊

I realise this guide is involved... If anything is not clear somewhere please let me know so make it clearer.


Just delete the Engine.ini and the paks πŸ˜Š. The game will recreate the default Engine.ini.

Mods Used
(In screenshots and while playing.) Thank you to the wonderful modders out there! πŸ’•


I would like to thank the many great people who have and continue to help test Ultra+. This game is huge and far too much for just one person to test, so this mod wouldn't be possible without your invaluable feedback.

I'd like to give special thanks to (I know I'm going to miss some people 😬)
  • yakuzadeso (author of Cinematic Ultraο»Ώ)
  • VelvetThundR
  • Amandila
  • stoneydays
  • sthrandom2
  • DerUngrund
  • pol1t1cs
  • Jullian Le Fay, for reminding me how game engines work and for arguing with me ❀️
  • JoriDiculous
  • xxynsfr
  • Otis_Infο»Ώ - the creator of Universal Unreal Engine Unlocker, without which Ultra+ would have been FAR more difficult
  • OptimusBull
  • Nightw0lf2400
  • DarthBlackcat
  • LFyfe
  • VandestG
  • Phade
  • cosmicvivacity
  • akuma35
  • waniki239
  • Sparco
  • Digital Dreamsο»Ώ
  • solarpower

There are many more, in 3000+ Posts I know I've missed some (I'm sorry), but I appreciate everyone one of you! Ultra+ simply wouldn't have gotten to this stage without you taking the time to post! 😊


Lots of changes:
- You can now choose quality settings via the game's graphics pages (like v7)
- Sped up RT Skylight (ty to stoneydays!!)
- Performance optimisations
- More aggressive white flashes fix
- RT Skylight Lighting paks

well hey 😊
  • Re-enabled RTGI for all Lighting Paks that support it (Realism and Harys Uber). Thank you to *stoney* for helping ❀️
  • Selectively sharpened some textures and normal maps using UE's inbuilt sharpening. I think this looks really nice and adds to the world's feeling
  • Forced Oodle (Selkie) texture compression in most places. It's a lot faster and should be smoother overall. Disabled additional zlib pass on virtual textures
  • Now using DLSS as an unsharp mask (sharpening -0.85) before applying UE's sharpening. This helps to remove DLSS jitters
  • Attempt to fix black landscape flashes
  • Attempted to fix square RT shadows around the castle by enabling alpha channel in post-processing
  • Hopefully finally fixed the remaining white screen flashes at the edge of the screen as the camera pans by expanding occlusion boxes for new polygons for several frames
  • Improved appearance of the faster RT reflections in "Full"
  • Fixed too-low texture quality on procedural buildings

  • I forgot to include the raytraced water version! Added.

  • Improved RT skylight denoiser. Remember raytraced skylight still has a HUGE performance cost. Pretty much 40x0 only with FrameGen.
  • Moved RT reflection denoising config to lighting paks because they mostly depend on SmoothBias, which changes per lighting pak. This enables RT reflections to be sped up by several FPS for Insane ini for most lighting paks
  • Re-increased mesh LODs to the game's defaults, but doubled the number of LODs (e.g. from 3 to 6) for most meshes. This achieves similar fps improvement but without reducing mesh polygons
  • Fixed HISM bug with RT shadows popping in and out
  • Found another way to fix incorrect calculation of far RT shadows caused by disabling HISM (again)
  • Fixed multiple problems with ini files unintentionally overriding lighting pak configs
  • Disabled more resources that aren't used (e.g. r.Atmosphere)
  • Several minor FPS improvements to Insane ini
  • Attempt to fix occasional white flashes drawn on the screen (game bug)
  • Various fixes and mod quality improvements

Hi all, just a quick bugfix release.
  • Now includes DLSS 3.1.30 with DLSSTweaks.ini for optimal settings. Not at all required, but it does improve (but not fix) a few DLSS denoising problems and performs well for me
  • Improves non-raytraced window lights indoors (thank you to LFyfe)
  • Fixes bright lights in Forbidden Forest (thank you also LFyfe)
  • Fixes a few strange shapes from raytraced shadows on distant rocks

This is a big release and a lot of work.

A few things to know first...
  • RTGI has been broken for a while. I hadn't noticed until I tested different variations. I'm looking for a solution. I've removed it for now
  • Raytraced skylight is fixed and a lot faster. It still needs a LOT of samples to look good inside, but feel free to play with it
  • You should get several FPS better with this version, I found several ways to speed up the game (read below)
  • You can now switch between different colour grading options by switching pak files. See inside the mod download for more. Fantasy is completely redone from the ground up based on Amandalia's comments, and why I originally started this mod, and it's my absolute favourite. It also doesn't need RT water (imo), so...
  • RT Water is removed for now. Mainly because I never hear about it... Is it good? It costs a lot of FPS. Let me know
  • SSGI is also disabled for now, because again it's expensive, and I think Fantasy looks better without it. Let me know

  • I've completely reworked the auto-LOD system. Many of the LODs were broken or badly configured, which is why the transfiguration courtyard and world in general are slow. All versions are now significantly faster. About 30-40% more fps on my PC
  • Separated colours into separate paks ... "Vanilla" still needs a pak because it defines some of the raytraced reflection shininess and (non-RT) lighting settings
  • There is a new "Fantasy" colour grading, which I've rebuilt from the ground up, with shinier RT reflections and gorgeous lighting. I'll post some screenshots. Thank you Amandalia for the inspiration 😊
  • Added a lot more rain, so it now looks like it's actually raining
  • Fixed jitter on non-raytraced directional shadows (lights cast from windows). This was caused by the shadow and lightmaps being too-low resolution
  • Reworked the raytraced reflections for Full (again), to use the FSR1 upscaler and denoiser. RT reflections and Basic are now several FPS faster in some scenes
  • I've been able to use FSR1 instead of TAAU (temporal upscaling) as the main upscaler for RT skylight and RT reflections. This has several advantages... 1) It has denoiser and dedither, which help with "fast" RT reflections noise, 2) It doesn't have the blue outline around PC's hair and clothes when Skylight is done at low screen percentage and upscaled, which is what was costing so much performance. 3) It helps denoise the contact shadows. So... yay! Big win 😊. NOTE: FSR1 will work even if you're using DLSS. You shouldn't notice anything different if everything's working correctly (other than just really nice visuals)
  • I eventually decided to leave the WLights contact shadows at full-res, and tweaked their settings to minimise the crawling problem. Realistically there are only a few locations where the shadow crawling is noticable. Running at half-res fixes the crawling, but puts a 1-2 pixel space between everything and its shadow, which imo is far worse and makes everything look like it's floating. So on balance, I've left it at full-res, and tried to minimise the problem using other methods
  • Reworked the bloom in conjunction with the colour grading, to better represent the effect of light inside the globe (eyeball). Imo it now looks like actual bright lights IRL
  • Reworked lightshafts again, because I wanted them to be more warm and cuddly
  • Hopefully fixed the pixellation on hair during Ansel pause (also using FSR1 - I haven't had a chance to test as I don't have Ansel installed)
  • Hopefully fixed the jittery/noisy grass as you spin around, also by using the FSR denoiser
  • Reduced doors crawling with DLSS (you guessed it... FSR... 😊)
  • Hopefully fixed the issue with shadows disappearing in cut-scenes with raytracing disabled. There is SO MUCH to test in this release I haven't tested it yet, but it should be fixed. Please let me know as always
  • Balanced is renamed to Basic

  • Hopefully fixed white screen issue with Balanced
  • Fixed performance drops in transconfiguration courtyard I think, and possibly in other places in the castle (I think the castle LOD definitions are broken in a different way to Hogsmeade)
  • Reduced sharpness overall so it's not so harsh in cut-scenes. If you like a sharper fixer use FSR / DLSS sharpening
  • Improved performance for Fast RT shadows by several FPS in certain situations
  • Enabled full texture streamer during cut-scenes for the first time. If you were having any performance issues or hitches in cut-scenes, this should now be fixed. Please let me know if any problems
  • Nicer and more obvious light shafts
  • Fixed a hitch when virtual textures try to load too many per frame (balance between VTs and textures needs to be about 1:4)
  • Slightly improved/stabilised performance overall
  • Fixed a few remaining flickers from RT shadows during cut-scenes
  • Slightly reduced bloom on bright lights
  • Fixed occasional RT hitches in full
  • Fixed slow RT shadows not drawing fast enough in cut-scenes
  • Fixed occasional white fast flashes on screen when you turn around quickly (I think)
  • Improved cut-scene performance in general

This is a quality and performance release

  • Tested GTAO mode, which is now working with RTGI. To enable it, change r.AmbientOcclusion.Method from 0 to 1
  • New version with completely redone vanilla colour grading
  • Ray tracing added to niagara/particle fx in Insane
  • Removed audio section which *may* be causing NPC conversations to not play and I'm not certain the audio section fixed anything (audio hitches when being discovered by enemies sound is played)
  • Removed the force-disabling of motion blur... you can now enable/disable in-game
  • Reduced view distance for Full back to default to give back some FPS (can still be changed in-game). Reduced view distance multiplier slightly in Insane
  • Removed several fixes for old versions that were causing performance issues
  • Fixed some lights cast by point lights were not rendering as the artists intended
  • Improved quality of RT reflections for Full
  • Improved performance in several circumstances
  • Updated included DLSS version to 3.1.13 (performance and stability improvements)
  • Clarified what some fixes in the ini actually do
  • Improved low fps due to lights propagating through fog at night (even if fog is not visible)
  • Increased translucency of subsurface scattering on skin. Skin on the avatar looks a little odd in all situations no matter which setting is used, however I think on balance it looks best like this
  • Tweaked TAA to always use the new Gen5, since I can't directly control what the game decides to use with DLSS
  • Fixed long-standing issue where contact shadows don't quite touch the object
  • Resolved issue where fps can drop due to too many contact shadows registered in specific areas
  • Resolved blurry/jittery grass in certain circumstances
  • Fixed shadows on some rocks (HISM rocks that are actually drawn as foliage)
  • Fixed other HISM shadows by extending the HISM view distance
  • Removed NVidia Streamline plugin from ini as it's been removed from June
  • Removed PopulationDensityScale because it doesn't work
  • Increased quality of raster water reflections
  • Fixed hitch with calculating lights at night
  • Re-enabled r.FastVRam.ForwardLightingCullingResources - fps does drop significantly with this disabled while moving quickly
  • Fixed a vanilla bug where the game would only allocate 1000MB for r.RenderTargetPoolMin in cut-scenes, which will be likely cause issues at 4k and higher resolutions
  • Increased "Post Processing" in Settings > Graphics > "Ultra" to allocate 1800MB of vram for r.RenderTargetPoolMin, which should make 4k and higher resolutions smoother. This MB is a guess though, so please give me feedback

This is a complete change in how the mod works, which I've been working on in the background. Ultra+ now uses a single pak file. No more ini.

I've re-done all the in-game graphics settings to control Ultra+. This way you can change between Full and Insane and tune performance and graphics just how you like.

Also the following improvements:
  • "Ultra" graphics quality in the graphics settings are the same or higher than cut-scene (@Cine) settings. They are higher than cut-scene because Ultra+ enables RTGI, RT shadows for the whole map, raytraced water, higher quality sky and clouds, etc.
  • Enabled TAA Gen5. This is important because TAA is used heavily by DLSS as well, so it affects everything. Setting r.TemporalAA.Algorithm to 1 was not enough because TAA Gen5 was disabled elsewhere in the ini files. This is now fixed and it looks amazing
  • Much higher quality fog. The June update made several improvements to the fog and Ultra+ was actually holding this back, so I removed my previous fixes and it looks incredible
  • Much nicer sky/clouds. Yes they still had some room to move. After playing for a while they're now noticably nicer again
  • Fixed flashing RT shadows in cut-scenes, because I didn't properly fix them in v6.6
  • I'm sure there's some things I've missed, I've been working on this for a while, but all the improvements from from v6.6 are in there too

  • Improved Full (and Balanced) RT reflections quality to fix the noise. It's still about 10 fps faster than Insane's method for me, but looks much nicer imo. Feedback welcome! 😊
  • Fixed RT reflections being overly glossy in all versions
  • Fixed flashing RT shadows during cut-scenes on Full
  • Improved shadow denoiser (and an extra 1 fps 😜)
  • Fixed square stars. I had removed this fix without even testing because surely it wasn't in the game any more!πŸ˜‚But no... The fix is back, lol (sorry!)
  • More minor FPS improvements

  • Removed March versions 😊
  • Performance optimisations
  • Enabled more RT shadows in all versions, since RT shadow pop-ins seens fixed in June! even though they pop in and out (in vanilla also). Hopefully some day I work out how to fix this
  • Reworked memory pressure to be more aggressive, increasing s.UnregisterComponentsTimeLimit from 5.0ms to 6.0ms per frame, and Increased all PoolSizes by about 500MB above the defaults, since I'm confident I've freed up enough memory to allow this
  • Slightly increased resolution for volumetric fog in Insane (by reducing the r.VolumetricFog.GridPixelSize 8 to 4, same as cut-scenes)
  • Re-enabled WPO (world position offset) for RT shadows as well
  • Increased RT dynamic shadows render distance, since RT shadows look completely fixed in June! Yay to WB and Avalanche for fixing the wOctree culling! 😊 😊 ❀️

  • Updated for June 2 patch
  • Reworked the RT reflections denoiser. Reflections should now have more detail and give back several FPS, especially in Full. There's still the occasional pixel noise in dark places, changing with DLSS quality helps a lot because DLSS actually does part of the RT denoising. Lmk what you think!
  • Fixed broken/flashing reflections (thank you also to swatgod for finding this!)
  • Fixed textures turning to potato after ~an hour of play
  • Improved menu textures showing a lower LOD for half a second when you open them
  • General performance improvements and tidy-ups
  • Disabled r.FastVRam.ForwardLightingCullingResources in Feb/May/June version. In March it needs to be enabled to fix performance issues while  moving (so it's for UE4's default light cullinge I would guess) - ty to Amandalia!
  • Possible fix for conflict with AI Blueprints mod causing game to drop to ~10 fps
  • Reduced maximum texture streaming LODs from 4 to 3 (4 should never be used, realistically), I thought I'd done this ages ago

  • Fixed broken raytraced water in Feb/May! (note: Feb is untested, please report problems in Posts)
  • Fixed crashing issues, especially during Winter, and when fast travelling
  • Removed RTAO version, it's getting too complex to maintain - RTGI looks better and is the same performance, use that instead (note: disable RTAO)
  • Enabled higher quality meshes on Insane. This gives more vram to load meshes which results in fewer low-poly meshes
  • Fixed some buggy RT shadows causing rectangles on the ground in Feb/May (note: Feb/May shadows are still only fully working in March, this is a work in progress)
  • Created different versions for March and Feb/May
  • Performance improvements for March Full RT reflections
  • Improved some firefly/pixel noise on RT reflections
  • Removed the included instructions (redirected to this page) for easier maintenance

Enables full raytraced global illumination (RTGI). Stoneydays worked out how to enable it, I optimised performance. It should work well for everyone.

  • Removed RT skylight (and The Truth) for now until we can work out how to make it more consistent between areas
  • Enabled RTGI. Use the SSGI/RTGI version with the RTGI pak to enable it
  • Note: raytraced water is buggy in the May update - use the March update for the best visuals (download in the Steam console with download_depot 990080 990081 9222283795661254952)
  • Minor performance tuning and optimisations

Thank you to Stoneydays for intensive testing and help, I wouldn't have worked this out without your help! 😊. This should be the fastest version so far.

  • Performance improvements to (non Truth) pak file
  • Disabled Blueprints ticking by default for everything in-game as it's not advised for Blueprints to tick unless they need to (and are individually configured to)

Thank you everyone for your detailed feedback on v5.5! 😊

  • Now completely disables the Chroma DLL. You should no longer need SLPF (though I have no way to directly test this - if you have a Razer, let me know?)
  • Fixed performance issues which were to do with some changes in the culling system used in the May update and timing. v6.0 should be a lot more performant
  • Updated The Truth to use higher quality reflections on more materials. It's now even more insane HOWEVER due to the above performance improvements it should be a lot faster and more playable! 😊 Good luck
  • Similarly Insane and Full are a lot faster
  • Combined Full and Insane into a single pak. The only difference between The Truth and the regular pak is The Truth pak enables the raytraced skylight - that's it
  • EDIT: I *think* we've fixed strobing / flashing happening when raytracing is enabled (vanilla bug)

  • Moved raytraced skylight to a new version - The Truth. You can't handle The Truth.
  • Fixed regression which broke Lumos
  • Updated How to Use included text file
  • Removed more settings from Balanced.ini. You are basically choosing all your own graphics settings except for material (texture) quality. If it's not performing well, it's because of YOUR settings. Idk how more clearly I can say this 😜

  • Urgent hotfix to fix crashes with save games and after fast-travel
  • Removed GBuffer format command from Insane configs, increasing this really doesn't change anything and is just a waste of resources

Sorry for so many updates!

  • Improved RT performance by several FPS depending on location
  • Improved Balanced performance a bit
  • Fixed RT tree shadows popping in and out! (huge thanks to Stoneydays who found a workaround!)
  • Re-enabled actor recycling to save resources / avoid creating things on the fly

I've started adding RTM (release to market/manufacturing) to indicate this is not a testing version.

  • Changed how PoolSize works back to vanilla behaviour, where it's simply set by the Texture graphics setting so you can change and test in-game (Low = 1200, Mid = 1800, High = 3000, Ultra = 5000)
  • Added a new The Truth pak which enables RT skylight. This is the only way to enable it without a command line! (It's ignored in Engine.ini)- Skylight intensity is now also set for you in the pak- Fixed game crash to desktop in several areas around Hogsmeade, and a few other locations by re-enabling GPU timeout detection (this hadn't changed in Ultra+ since the May update)
  • Slightly changed the way DoF work to hopefully fix weird looking DoF in cut-scenes
  • Fixed light draw distance command which was ignored (I've been meaning to get to this for a while)
  • Increased light draw distance for Insane from around 300m to 3000m
    - Reduced max temp memory for Full from 2000MB to 1400MB to better support a range of platforms (Insane is still at 2000)
  • Tweaked RT skylight settings for better performance both in Full and Insane
  • Increased max RT polys from 2000 per frame to 50000 per frame (Full) and 100000 (Insane)
  • Increased max shadow batch size from 384 to 512 for Insane
  • Enabled RT auto-instancing
  • Slight improvement to RT reflection performance
  • Increased RHI cmdlet batch sizes for slightly better performance at night
  • Disabled hybrid RT reflections in Full. Reflections are more accurate without it
  • Re-enabled directional lights in RT reflections in full. This is still disabled in insane, because directional light reflections come from hybrid screenspace reflections
  • Disabled raytracing always using the highest LOD (even if they're not loaded) which saves a few FPS

Special thanks to stoneydays for helping test and improve further!

  • Chose a safer poolsize for Full (2500)
  • Enabled spatial resolve raytracing denoiser in Balanced, because it significantly increases FPS
  • Added under Extra Options to use spatialresolve in Full or Insane if you want to more FPS closer to vanilla (at lower quality than default Ultra+)
  • Reduced RT static culling distance in Insane as this is not used for RT water any more
  • Enabled and tuned the RTAO denoiser. Having this disabled was causing some grain noise since the May update and looks much nicer enabled
  • Re-added the render (raytracing) memory allocation, as it's being set higher than necessary by the game and wasting vram
  • Tuned the RT reflections denoiser to make it a little faster in Full
  • Fixed some typos

Fixes some minor bugs because I'm an idiot.

  • Created a new Balanced version! This version overrides a LOT fewer settings, and will much more respect the changes you make on the graphics quality page
  • Removed the RenderTargetPool override, because the game is now setting much lower (e.g. "600" or "500" instead of "1200" or "900") for this and it's working! Saves a lot of memory 
  • Re-added the PoolSize, but set more sensible defaults for Balanced, Full, and Insane

Thank you to everyone in the Discord for helping test! Especially VelvetThundR, who went above and beyond ❀️

Note! The May update reintroduces a bug with RT shadows that was in the Feb vanilla version, too. When you're around trees especially and move around, or rotate the screen, shadows will pop in and out of existence. I've never been able to fix this bug so far. If it bothers you, Disable RT directional shadows (which is most of them) by setting r.RayTracing.Shadows.Lights.Directional to 0 in the ini.

  • wOctree culling is working again, so extended the raytraced water distance from 40 metres to 260m (Insane) and 100m (Full) using this system
  • Nights are now darker similar to v2.4 - 3.2 by reducing skylight influence on ground
  • It appears the devs have locked DLSS to version 3.1.2. Please stick with that version or it simply won't work
  • Fixed Lumos stops working after several seconds (thanks to VelvetThundR for reporting)
  • There is a bug in the May update with directional shadows view angle - tree shadows for example disappear in and out as you move around. I haven't been able to fix this. If it bothers you, change `r.RayTracing.Shadows.Lights.Directional` to 0 ... hwoever this disables most of the beautiful RT shadows
  • Increased the view distance for rocks and some other details (heirarchical instanced static meshes

Texture streaming is FIXED. All the random, wonky behaviour is gone, and r.Streaming.Poolsize now works as intended.

Now that texture streaming is fixed you should be able to set the PoolSize to suit your VRAM (2000, 3000, 5000, 7000 should all work well) and textures will be scaled automatically to fit within budget (works in my testing). Even 2000 and 3000 still look great and work properly.

(Note, there is a known bug in this version, at a specific time of night, gound textures have flickering artifacts. However there are so many fixes in this version I decided to release while I hunt down the cause.)

As always please let me know how this goes in Posts and if it's helpful remember to endorse 😊

  • Made game more stable by starting to unloading levels at 80% instead of 95% memory use. Under certain conditions the game was allowing RAM/VRAM to go too high before reacting, and crashing to desktop. This bug is reproducable much more quickly by increasing LevelStreaming.UnloadNotVisibleLevelsWhenLowRAMNormalizedPercentage to 96 or 97. Reducing it to 80 (and fixing memory consumption) seems to stabilise the game.
  • Made several other changes that force the texture streamer to unload not-needed textures earlier and manage memory better
  • After discussions with Digital Dreams and their Discord, reverted to the 2.4 - 3.2 colour grading
  • Fixed typos in game definitions for Hogsmeade that were making Hogsmeade not work as intended
  • Added 3 additional LOD levels to Hogsmeade - increasing from 3 to 6 - to significantly improve texture streaming, stability, FPS, and memory usage
  • Added 2 additional LODs to Hogwarts castle exterior, and 1 level to the interior, for the same reason
  • Enabled the texture streamer to stream up to 4 levels of detail (LODs) at the same time. This was previously set to a max of '2' levels, however what this instead of saving memory by loading the 'right' size texture, what this causes is the game loads a too-small or too-large LOD, which causes problems
  • Fixed issue with Hogsmeade and a few other areas repeatedly not loading specific textures. It turns out the devs are using r.ShaderLibrary.PrintExtendedStats (which I disabled because it's for debugging / statistics) to detect and force-load unloaded textures
  • Disabled several more analytics and debug commands
  • Reduced draw time by a few ms and stabilised FPS further by reworking the RHI (render hardware interface, the thingy collects stuff and puts it to screen. I think.) and D3D12 to work more asynchronously and responsively
  • Fixed game not closing properly (or closing very slowly) even after several minutes
  • Stopped HISM (heirarchical instanced static meshes) (a few small objects around the game) from not respecting the view distance and unloading / popping in too early
  • Faster level loading by disabling Create Shaders on Load (it's totally unnecessary). This saves vram as well
  • Fixed raytraced shadow hitching by increasing RT shadow batch size from 32 to 256
  • Reworked RT shadows denoiser to be nicer quality at approx same frame cost
  • Fixed raytraced reflection hitching and slow loading by increasing maxed RT primitives from 500 to 4000 per frame (combined with previously enabled materials sorting) now that engine bottlenecks have been removed
  • Disabled RT reflections denoiser for 'Full' version because it gives back several FPS, and doesn't look hugely different
  • (Note that reflections are still buggy, they sometimes reflect the exterior world when you're inside, reflect invisible objects, and miss things like walls, so don't expect mirrors to be "accurate". I haven't been able to fix this so far)
  • Reduced PSO cache size from 100 to 70 render pipelines to save memory as it seems to have no performance penalty
  • Enabled HISMs in raytracing calculations which fixes glitched RT shadow bugs on rocky mountains. This was previously only enabled in cut-scenes
  • Reduced lightmap resolution of indoors Hogsmeade from 64 to 32, which should make Hogsmeade indoors more reliable
  • Enabled actor recycling... creating/destroying resources has a cost, and actors (beasts, people) do cause hitches sometimes, so why not reuse them where possible instead of creating new ones all the time?
  • Enabled AlwaysExecuteBloomSetup, which was intended by the devs but broken in earlier builds. This reduces the brightening affect bloom has on the whole scene
  • Removed a bottleneck only allowing 2 streaming worker pools at once (the game now uses 8)
  • Increased streaming pool temp memory from 128MB to 2000MB (v5.0-rc2 used 1200MB if I recall) which seems to work really well feeding the hungry texture streamer
  • Increased max RT primitives per frame from 500 to 4000 (Insane) and 2000 (Full) which appears to fix RT bottleneck
  • Enabled high bit precision GBuffer (Insane) for more accurate mesh normals and materials (has a bandwidth cost, so this is disabled in 'Full')
  • (Also I was able to remove the separate pool for meshes, as they will also scale automatically)
  • I really want curry

Firstly thank you to VH_XXIII, Digital Dreams, and eNoodles for helping me test v5.0-rc1 (before this version), and for everyone for providing feedback and input in Posts, which have been essential to tracking down the bugs in UE4 and Hogwarts Legacy.

Version 5.0-rc2 is a significant reliability update, and I believe I've found one of the root causes behind texture stuttering and (hopefully) removed them. My goal is finding settings that work for everyone, and I think this version has the best shot yet. It is based off of the frame pacing (amortisation) from v4.0, and quality updates and raytracing fixes in v3.

I have seen the per-frame method partly implemented in other ini files, but not correctly, and that's why there was still problems with Hogwarts, and in other games. I'm not going to comment much more at this stage, because I really need to see feedback first. I know it's been frustrating having several versions especially that have fixed some issues or introduced other issues. However, your feedback, problems and successes, has been invaluable, and what we've learned will hopefully help other games as well.

With that said, if there is one version you try, please try v5.0-rc2 and let me know how you go in Posts.

  • Finally found and disabled several internal engine limits/parameters that I think were set several years ago when UE4 was started, and appear to be still the same. I believe these are at the root of many UE4 game performance problems, and are the reason UE4-based games work well for some people, but not for others, with no clear reason why - over the next few weeks as I have the time, I'll explain what I've found, and may even try the settings on another UE4 game (no promises). Also be aware that some settings I haven't been able to override fully because the engine logic (code) is buggy. I believe this is further evidence that this part of the code hasn't been looked in recent and current games
  • Added some important commands for raytracing with default values which will hopefully fix RT if you're running the Feb-22 version of the game. I can't test this, please let me know how you go
  • Fixed some errors in the Ultra+ pak that were causing problems
  • More useful comments in each ini file for easier tweaking
  • Attempted to fix some audio hitches
  • There is now more emphasis on performance in 'Full' vs. 'Insane' - Insane is a little more intensive (only where it matters) and Full is a little more performant (with the least cost). I'm hoping this will allow people to achieve their FPS goals
  • Forced the game to not unload textures when it runs out of memory, which causes continuous "vram bouncing" where the game continually loads and unloads textures (with significant performance and visual cost) - note, the command used to disable texture unloading (LevelStreaming.UnloadNotVisibleLevelsWhenLowRAM) in Hogwarts is partly broken depending on what other configuration options are set to (I believe this is custom code by WB/Avalanche), however I've been able to at get it to partially work
  • Fixed tree, grass, and hair shadows with RT shadows enabled (they were just blocks of black)
  • Disabled anisotropic filtering on shadowmaps and lightmaps in-game
  • Reduced memory usage by little bits in several areas. For <10GB cards every bit helps for this game
  • Many many small performance tweaks
  • Fixed an Ultra+ bug where part of the landscape (rocks) was disappearing due to primative limit (some rocks are rendered as "foliage" and hitting the pimitive limit)
  • Re-enabled raytracing materials sorting for reflections with less aggressive settings
  • Fixed new fog was not calculating correctly, instead I've reduced fog by about 20% in the Ultra+ pak (you can still turn fog off if you prefer)
  • Disabled NVidia Aftermath in-game - no need for it to be in the shipped game
  • I've left the film grain at "low" (0 = low). There's only one scenario where I've seen it cause colour banding (this is the purpose of grain - to remove colour banding) but I think for this small cost, I much prefer the look of the game without grain. It feels more "fantasy" in a good way
  • Fixed menu taking too long to open the first time

This is a complete rewrite... People said v3.4[.1] looked amazing, but lower FPS. So I've gone back to 3.1 and 3.3 which ran a lot faster, and brought in the visual settings from v3.4[.1]. This is a huge update and will need testing, so please let me how (good or bad) you go and any problems.

  • Fixed RT shadows (!!) - they are now 100% working. Thank you to stoneydays in Posts for pointing out the fix. There are just a couple of rooms in Hogwarts (and probably elsewhere) where bright light comes through cracks in the walls. The walls are supposed to overlap to prevent this, it needs to be fixed in the game assets (someone want to do it?)
  • There is now a pak file. There are a bunch of settings that can't be changed via the ini files. You can try, but the game just ignores them. I've fixed this by modifying the game's DefaultEngine.ini and WindowsEngine.ini to correct the settings. The pak plus the ini file are both required. Put the pak where you normally put mods
  • There is now a "clear-shader-caches" script. Use this to easily clear your DirectX and game shader caches if you need to
  • Fixed the game not exiting properly (this is caused by enabling async raytracing, which shouldn't be enabled I don't think because background raytracing is already enabled)
  • Reworked how raytracing works so (hopefully) it properly calculates while everything else is happening and is a lot faster
  • Increased streaming temp memory (not poolsize) from 120MB to 1500MB, which is much more appropriate for a game of this size! (in pak file)
  • Enabled batching of background shader pipelines, the batch size was previously set to "1" by the game
  • The GPU may not use 100%, yet everything seems a lot smoother and faster on my PC. This is because there is a lot of empty time rendering each frame, and I've filled it up with stuff. I'm working to get the GPU to 100% because in theory the game should be able to run faster.. Let me know how you go though - need feedback
  • Increased view distance of grass and foliage quality
  • Reduced the bloom so it doesn't blind you with RT shadows on (RT shadows, I've found, are mostly used for lighting effects!
  • Disabled the fog up close but left it on farther away. This means the fog inside buildings is far less, but outside can still get nice and foggy. It's not quite how I want it though, I may edit the uassets for fog if I have time
  • There is more I've probably forgotten

Quick hotfix for anyone experiencing issues with 3.4

  • For the moment I have just removed new lines which may be causing issues with audio, raytracing occlusion (this is a problem in the game already, I can only improve it), and stuttering due to being CPU bound. Please let me know how you go!

Thanks for your patience! After the huge amount of feedback I've needed a little while to think and test. This is a BIG update! To be honest I will miss some things I've done.

  • I have temporarily not included the Performance and Balanced versions, because they are still being tested. Please use a previous version
  • Added Extra Option 1 to fix micro-stutters (enable "finish current frame")
  • Fixed missing candles in the great hall! It appears this is caused by enabling Niagara clustering
  • Fixed missing fire in some areas, which is caused by reducing Niagara max instances spawned per frame
  • Returned to (close) to the original Ultra+ colouring. Please feel free to override this with vanilla colouring. There is just SO much detail you can't see in the vanilla colour grading, so I've eventually concluded the new grading should ship with Ultra+
  • Though I've slightly reworked the colour grading to mostly fix the blinding window lights
  • Discovered (and disabled) a range of debugging, statistic, and testing commands. These should not be in a shipped game (imo). Seems to improve performance by several FPS
  • Enabled a separate pool for meshes, and reduced the texture/materials and reduced the 
  • Added UI scaling, which now defaults to 85% of the regular UI size. Please feel free to modify to suit your needs
  • Clamped the streaming pool to VRAM (again), though surprisingly this doesn't make a lot of difference
  • Reworked RT reflections significantly, so reflections can be loaded in tiles, and tiles can be sorted by material in the GPU pipeline, which can result in a significant performance increase
  • Mostly fixed broken floor reflections causing super-bright reflections on the bottom of doors (but on other objects too)
  • Reformatted everything into groups for ease of use/management
  • Added garbage collection tweaks from v4.x-streaming to v3.4 for testing
  • Fixed a hitch with grass loading I've been looking for for ages. Essentially, grass tries to load too much on too few threads, and blocks other rendering
  • Fixed a similar hitch loading audio files! Especially when the "discovered" sound is played when a dugbogs notices you
  • Enabled some FastVRam options that are likely in use, and disabled some that aren't in use
  • Further disabled WPO options, because world position options aren't used in-game (or are so rarely used it's not worth it because you can't tell!)
  • Increased material quality in Full and Full RT to 3 (cut-scene quality) because it makes little difference to FPS! (yay! 😊)
  • Also added Insane (SSGI) i.e. non-RT version for convenience
  • Removed the IO cache. When this is enabled, it causes textures to be paced per frame. That's how v4.x-streaming works, but not appropriate here. Accordingly, also disabled amortize CPU to GPU copy (same reason). I also believe enablling the IO cache is what's causing instability with v4.x and this needs some real testing and debugging
  • Reduced PSO cache, it was using too much memory and causing issues
  • Enabled pre-streaming texture loading from v4.x as an experiment
  • Tweaked raytracing denoiser (again) to be slightly more performant by not using pre-convolution
  • Increased max anisotropy of the virtual textures (VT textures) to 16. Originally I reduced this because there are some problems with VTs having obvious tiling. After a lot of debate I've increased aniso for VTs, but also lowered overall tonemapper sharpening to compensate. This has the effect of making the whole screen evenly sharpened so I think is for the best
  • As above, reduced sharpening a little
  • Improved quality of ambient occlusion cast by the avatar and NPCs in some lighting conditions as an experiment. This is also why AO settings still have an impact even though theoretically regular AO is disabled
  • Reduced RT ambient occlusion samples. The increased samples is only noticable in very few places but causes FPS cost everywhere. Also RTAO is a little broken since the 8 March update
  • Added a chart to assist with which Ultra+ to use
  • Increased skylight influence on ground to suit the new colour grading
  • Updated flush-mem have a bit clearer prompts

Only some people are having success with v4.x-streaming, so while I continue to work on this, I will continue to update the tried and tested version v3.x 😊

  • Added Disable MPO, which lets you easily disable/re-enable Windows Multiplane Overlay, which can cause screen flickering. I'm still testing this but think it's worth including as some people (especially AMD) have reported screen flickering
  • Updated with the latest colouring from v4.x-streaming. Both versions now look the same
  • Increased the texture quality level to match v4.x-streaming
  • Changed the HLOD method back to 0 to avoid texture pop-in. Note that in the end, game assets are set to try and fade in over 3 seconds, if you see them pop in it's your PC trying to keep up (even on high-end PCs, this Engine.ini will push it hard)
  • Disabled raytraced directional shadows (same as v4.x) as they don't look as good as the rasterised directional shadows and can't be denoised at a sensible FPS cost
  • Disabled r.Shadow.UnbuiltPreviewInGame (same as v4.x). This is a development option and should not be enabled in-game. It was causing hitching with lumos shadows, and the Merlin trial attracting fireflies into the stones, and has taken me forever to find!
  • Removed D3D12.GPUTimeout which may cause instability
  • Enabled Halton Distribution of grass loading, because it looks nicer
  • As with v4.x I'm trying to increase the streaming temp memory from 120 to at least 512 (possibly higher), however this is not correctly reading from the Engine.ini and can only be set by console
  • Increased r.Streaming.Boost to 2.0 (Insane only) to force textures to load in at higher quality

The most controversial change in this update is I've ended up setting r.Streaming.PoolSize to 0. That's right, zero! This is NOT the same as not specifying it. Instead this gives Unreal Engine the ability to set its own poolsize. Internally it will probably still use one around 1000 - 1500.

If this doesn't work for you, please feel free to set it to 1000 again. With DLAA I've found slightly higher works more reliably. (1200 - 1500). Overall depending on your system you should get some FPS (5 to 10) back on v4.1 over v4.0.

Lastly I accidentally left r.MaterialQualityLevel from Insane at level 3 (cut-scene quality) in both Full files for v4.0! I didn't hear anything negative about this so I've left it. But just delete the line if you want to lower the Material quality.

  • Set r.Streaming.PoolSize to 0 and deleting D3D12.TexturePoolOnlyAccountStreamableTexture (the command which fixed texture loading after the 8 March update) has finally fixed DLAA, and some other random hitches for me
  • Disabled r.Shadow.UnbuiltPreviewInGame. This is a development option and should not be enabled in-game. It was causing hitching with lumos shadows, and the Merlin trial attracting fireflies into the stones, and has taken me forever to find!
  • Reduced r.Shadow.CSMShadowDistanceFadeoutMultiplier from 10 to 4. It doesn't look as good in Hogwarts (lights cast from windows), but was causing bright lighting in treasure caves
  • Disabled async raytracing. It just seems to cause too many problems, for some people it works, others it doesn't
  • Disabled r.RayTracing.CompileMaterialAHS, I don't believe (raytraced) translucent or alpha materials are used in game, and this gives a few fps increase
  • I'm trying to increase the streaming temp memory from 120 to at least 512 (possibly higher), however this is not correctly reading from the Engine.ini and can only be set by console
  • Removed r.ShaderPipelineCache.StartupMode for now, as it appears to achieve nothing!
  • Also removed r.D3D.ForceDXC, r.D3D12.GPUTimeout, D3D12.MaximumFrameLatency, and r.CustomDepth.Order, as they probably do little and I suspect them of causing of instability
  • Increased r.Streaming.Boost to 2.0 (Insane) and 1.5 (Full) to force streaming of farther away textures
  • Returned to using r.Streaming.HLODStrategy of 0, and now using r.Streaming.MinMipForSplitRequest of 1 to load textures by distance instead. This seems to work much more reliably and is more controllable (via r.Streaming.Boost)
  • Enabled Halton Distribution of grass loading, because it looks nicer
  • Tweaked vanilla colours further, the black is now a touch blacker, dark colours a little darker, and overall a bit more contrasty
  • Slightly reduced grass LOD distance (Insane + Full) to reduce pressure on texture streaming
  • Disabled reporting of PSO (r.ShaderPipelineCache.ReportPSO), as it doesn't seem to update any PSO caches
  • Disabled r.FastVRam.LPV, as Light Propagation Volume isn't used in the game
  • Set r.Streaming.UseMaterialData to zero. I believe almost all game assets (except the tree in the Snidgets quest) are properly optimised for release, so this really isn't needed
  • Removed r.AMDDisableAsyncTextureCreation which may have been causing crashing for some
  • Reduced r.XGEShaderCompile.Xml.BatchGroupSize from 256 to 64, which seems to remove minor hitches while doing high-speed texture streaming
  • Removed AllowAsyncRenderThreadUpdates and AllowAsyncRenderThreadUpdatesDuringGamethreadUpdates which are in most recommended Engine.ini, but they're set by the game already, so do nothing
  • Disabled more WPO primitive work on the render thread (it may already have been disabled by the engine)
  • Increased D3D12.ZeroBufferSizeInMB from 4MB to 32MB
  • Added custom field of view into the HLOD calculation (by setting r.ViewDistanceScale.FieldOfViewAffectsHLOD)
  • Increased r.Shadow.WholeSceneShadowUnbuiltInteractionThreshold to 9999, which should hopefully disable whole scene shadow casting (there seems to be a hitch switching to whole scene shadows)
  • Enabled r.FastBlurThreshold for slightly faster gaussian... I can't see any difference visually

For how this version came to be, see the pinned post here. v4.x is a complete rethinking of how it works and includes a lot of changes:ο»Ώ

NOTE: The first time you start this, it may take a LONG time to calculate shaders. This is normal, please let it finish. If you've used previous versions of Ultra+, it should take less time.

NOTE2: The timing of the texture streaming may need tweaking, I will be relying on your feedback to get this right for Insane, Full, Balanced, and Performance levels, so please let me know in Posts 😊

  • The two biggest changes: 1) Ultra+ now uses the vanilla colour grading (!) only it's now heavily tweaked to improve contrast. Everything should look more balanced, but it now looks a lot more like the original game, too! 😊
  • And 2) Now actually streams textures into a small streaming pool of 1000MB. I believe this is how UE was actually designed to work
  • Instead of trying to load all the textures in a single frame, trickles them in over several frames. You should barely see this happening (let me know in Posts)
  • To reduce pressure on the engine, I've re-enabled the HLOD preferential loading of closest textures, but increased the distances so you shouldn't see it happening
  • Changed the startup to precalculate ALL the things
  • Changed raytracing to be cached for a larger radius around you, so you can't see RT elements popping in as much (still working on this)
  • Reworked garbage collection, so unloading of objects also happens over several frames, not all at once
  • Increased the texture qualites in Insane and Full, because the new texture streaming should handle it
  • Disabled raytraced directional lights, because there's no way to denoise them at reasonable FPS cost, so the rasterised directional lights look better
  • (Hopefully) fixed a bug where directional lights (cast from windows across the floor) might disappear
  • Disabled world position objects calculations for a few FPS boost. WPOs are barely used in-game, so no real visible difference
  • Increased the complexity of wind effects in trees and grass (Full and Insane) to be more nice

This is (hopefully) the fixed version of v3.1 as some people saw problems. I've been working on a new version (v4.x) which works entirely differently, and fixing bugs, so testing has taken quite a while in between my work, so thank you for your patience, I know a few of you are eagerly awaiting this release!

  • Increased texture quality for Insane (note that Cinematic Ultra will make less of a difference for the Insane version of Ultra+)
  • Changed HLODStrategy back for Full and Insane, so textures are not loaded preferentially closest to you (I will probably work on getting this working later)
  • Hopefully fixed bugs with spells and other particle effects not displaying
  • Reduced influence of sky ambience on ground lighting in non-Vanilla Tone
  • Restored the original sky lighting in Vanilla Tone (as this influences how the game looks)
  • Increased quality of sky ambience (lighting behind clouds)
  • After more testing, re-enabled all cores compilation for shader compilation for Full and Insane
  • Tweaked color grading of both Vanilla Tone and Ultra+ Tone
  • Changed the way reflection denoiser works. I'm not happy with the spatial resolver denoising causing so much jitter, so going back to the original reflections denoiser but have significantly improved it by enabling preconvolution. This degrades mirror reflections, but mirror reflections are already kind of broken in this game, and this change makes this less obvious so overall I think it's an improvement
  • This enables more shiny reflections to be enabled
  • Slightly reduced the range of higher quality foliage, increased the range of higher quality grass
  • Increased bloom of Vanilla Tone to look more like vanilla
  • Improved fog rendering quality in Insane
  • Disabled the GPU timeout in-game, which may help prevent BSODs (this may still require TDR timeout to be disabled in Windows, I'm not sure)
  • Re-enabled IO Dispatcher cache
  • Removed a few overrides in Full that conflict with Cinematic Ultra
  • Increased raytracing reflections screen percentage to 60 percent which resolves some quality problems for a few fps
  • Re-enabled direct lighting in reflections since it looks fine with the old denoiser
  • Increased sharpness of Vanilla Tone
  • Now included DLSS 3.1.11 for ease of updating
  • Now included (hopefully) a fix for BSODs

This version is getting very close to cutscene quality without the performance hit.

  • Fixed a bug causing weird lighting on hair and face (I missed updating r.Tonemapper.Quality to 5 in v3.0) thank you to Grestorn for reporting this
  • Fixed vanilla game hitching when too many particles are spawned in a single frame (e.g. revellio, Merlin trials, drawing the path by pressing 'V', etc.)
  • Fixed a regression that solved poor quality reflections from the tower on the Hogwarts lake
  • Found a new way to reduced brightness of bloom (since I can't modify bloom intensity directly πŸ˜₯)
  • Fixed an issue where floors and metallic objects appeaered blue indoors due to skylighting, by increasing r.SSR.MaxRoughness from 0.65 to 0.8 (this fixes about 90% of cases). This also makes metals integrate better with interior lighting
  • Fixed a bug introduced in v3.0 where fog can be jittery in specific situations (this is a balance between hitching and jitters)
  • Reverted several shadow settings which either didn't change anything (there for testing) or were just causing weird problems
  • Tweaked colour grading anal-retentively
  • Increased sharpening to 2.0 to compensate for the change to the Tonemapper: NOTE: This will cause oversharpened Ansel screenshots if you're not using DLAA
  • Tweaked performance version

Thank you for your patience. A lot of changes in this one so required longer testing.

  • By request - Added "Vanilla Tone" versions - This has all the upgrades of the other Ultra+, but uses a tweaked vanilla colour scheme. Not quite as bright as vanilla, and upgraded lighting, but very much looks and feels like vanilla for those who prefer that 😊. Feedback welcome!
  • Reverted non-vanilla to an earlier version, they were getting too strong
  • Fixed three additional areas that could cause hitching - #1 fog was being recalculated when it didn't need to be
  • Fixed hitch #2 - once shadows become numerous for a scene (up to 500), the engine waits too long to calculate them as a whole - lowering threshold to 200 seems to fix this
  • Fixed hitch #3 - engine tries to stream ALL scene textures as you move around even if they are far away, changed HLOD strategy to prioritise close textures first. it might be okay to set this to 0 on powerful enough video cards (but i have no way of testing). I've been trying to find this hitch for ages!
  • Improved skin to cinematic quality (screenspace reflections in eyes, specular highlights on skin, better reaction to light)
  • Vanilla Tone also doesn't use screenspace global illumination, it uses regular shadows because I feel it looks better this way (and how the devs intended), so you can use this with or without ray tracing
  • Added Vanilla Insane RT, because who doesn't want raytraced water?
  • Fixed bug - stars and some spell effects were square! Thank you to everyone who reported 😊
  • Increased the quality of sky lighting around clouds. This (imo) gives a nicer tone to the world, better sky light on the ground, and brightens the night a little
  • Increased hair quality to cinematic level. Wet hair looks better, lights on hair look nicer, better antialiasing
  • Increased materials in Insane RT versions to cinematic level
  • Removed some smaller shadows, perhaps this will fix the buggy hat / hair shadow (but I doubt it)
  • Added an option to tweak the number of humans in the game. Some people don't like lots of humans, and this is 100% okay (see Extra Option 8)
  • Removed foliage density override because in some areas the foliage is programatically overridden to be more dense, so while we were gaining grass in some places, we were losing it in others
  • Minor bug fixes and tweaks

Thanks for your patience,  v2.4 has needed extra testing due to larger changes.

  • Fixed: Game is using only 60-80% GPU
  • Adjusted the lens bias to increase the brightness without using a higher gamma curve. This makes the mid colours clearer (again), and largely fixes the blown-out window bloom on almost all windows. NOTE: Auto-exposure will still over-correct in certain situations (I'm working on this), but overall it's far better
  • Accordingly, the colours are reworked and tweaked. Please check the Image Calibration is to your liking, it's especially important so things aren't too dark
  • Disabled async raytracing for now. This offloads some of the RT structure work to the CPU, but 1) some people have CPU bound systems so this is a problem, and 2) the GPU is not being pushed to 100%, so there is a timing bottleneck in the render pipeline (waiting on async data from the CPU). I'm trying to find this, and will add the config to Extra Options if you want to enable it
  • Removed a few more settings that aren't required, or were now invalid commands since the 8 March update
  • Increased the screenspace reflections resolution from 512 to 2048 to address poor reflections when looking from far away (e.g. looking at the Hogwarts lake from a tower)
  • Increased bloom quality to 5, and used half-res bloom (except for the bloom kernel) to offset the intensity (since I can't change the intensity directly, the game doesn't accept the command)

  • Disabled raytraced reflecctions on water on Full RT. It is now only enabled on Insane RT. I believe this change (and some of the changes to support it) were causing the reported performance problems with v2.1 / v2.2
  • Kept the test changes from v2.2, with a a few adjustments, as they seem to fix the texture loading over and over problem from the 8 March update
  • Enabled the texture streaming pool to use system memory as well. With the new changes from v2.2 this doesn't appear to hurt performance, but should make Ultra Plus work correctly on a wider range of cards
  • Changed r.Color.Min from 0 to 0.003 as blacks were getting clipped since the 8 March update. In my testing with this value blacks touch the bottom of the histogram but without excessive clipping, and look visually pleasing
  • Slightly increased r.Color.Max to help with brightness blowout. I may increase this more but ran out of time to test for this release
  • Slightly reduced sharpening
  • RT ambient occlusion on Insane RT now uses 2 samples which gives a more accurate AO without significant performance cost. It also makes RTAO darker, so decreased RTAO level from 1.3 to 1.0 to compensate
  • Implemented the new reflection SmoothBias at 0.5. This gives a more glossy surface to reflective surfaces, reduces RT reflection noise and fireflies, and has a small fps gain. I'm starting to think SmoothBias of 0.5 was what the devs meant to release with (not 1.5, which makes everything insanely reflective in the 8 March update)
  • Removed some headings in the ini, they haven't been required for a long time I just haven't had a chance to do it

  • A test version that attempts to fix textures loading and reloading every 3 seconds when you're out of VRAM. NOTE: If you run out of vram with v2.2TEST, you will still have textures that load as lower-res, but it won't keep happening over and over. Reduce some settings (see Troubleshooting) to free up VRAM, and you will be fine. Hogsmead and Hogwarts are by far the heaviest locations for VRAM
  • If v2.2 doesn't work for you for some reason, just go back to v2.1 until the next version is out
  • Please do leave me feedback on how you go in Posts

  • Fixed a typo that disabled screenspace global illumination was not enabled in Ultra+ Full (non-RT) v2.0
  • Fixed RT reflection (RTR) pop-ins of on water (lakes, etc.) I really think RTR looks fantastic now and is very playable, even on mid-tier rigs
  • Significantly reduced noise in RT reflections. This also reduces firefly artifacts on reflections (except RT water is still a little noisy, I'm working on this)
  • Fixed objects/bodies missing from mirrors by changing the way RT reflections work so the last reflection bounce captures the full image
  • Increased render distance of RT reflections to capture all visible parts of the landscapes (within reason) the cost is low (a few fps) due to previous work optimising raytracing
  • Slight accelerations to RT rendering (more are in the works but need more testing)
  • Still testing a fix for textures loading over and over again since the 8 March patch, it's working for me, but I need more data. I'll upload a test version soon
  • Removed r.TranslucencyVolumeBlur as it's been removed from the 8 March game

  • Enabled raytraced reflections for bodies of water! To enable, simply enable RT reflections. This addresses the missing sides of the reflection in the vanilla game (due to a limitation in UE4's screenspace reflections implementation). Full RT has a maximum ray-length of "3000", which will only reflect objects closest to the waterline to help reduce pop-ins. Insane RT has 200,000 ray length, which will reflect most of the landscape, but increases pop-ins.
  • Fixed issue where changing Material Quality level removes all materials from the game!
  • Disabled temporal accumulation on Insane RT reflections. It just causes too many weird artifacts
  • Increased RT reflection screensize in Full RT from 40% to 51%, to correct TAA border artifact around bodies of water. This has a cost of a few fps
  • Increased shadowmap sizes by one step again. There are still a few areas that will use it, but it's inconsistent
  • (Re-)increased eye adaption time to 3 seconds. This looks better - when it works. Around half the areas look weird no matter what I do
  • Included a simple "flush memory" script for convenience, which does the same thing as software of similar names (cleans unused Windows memory)

  • Another quick hotfix to finish restoring RT reflections to before the 8-March patch. It turns out the RT reflection screensize upscaling was bugged as i thought. this is now increased to 100 in Ultra+ Full RT because the difference is only a few fps (but much greater quality)
  • There is also a new setting calle r.RayTracing.Reflections.ExperimentalDeferred.SpatialResolve, which is what the denoiser = 100 setting was before 8-March (i.e., it now has its own setting). So I've been able to enable this on Full RT as well - again at low cost. In my opinion Full RT now looks great
  • I have also enabled the new setting r.RayTracing.Reflections.ExperimentalDeferred.SpatialResolve.TemporalQuality on the Insane RT version. This brings Insane RT back in line with how it looked before, with more shiny reflections. I am not a huge fan of temporal accumulation though, it's VERY messy on screen, especially in dark areas. There is now not any real difference between Full RT and Insane RT! I'm not sure if I'll keep Insane... let me know what you think?
  • I have attempted to fix the "textures loading in and out" problem introduced on 8 March also, where every 3 seconds textures go to their worst quality, then great, then worst, etc. I don't think it's fixed yet but it seems a little better.
  • I have enabled r.Filter.SizeScale=0 now also, which halves the resolution of the bloom radius (but not its middle). I'm still testing this, but so far it looks nice, and helps to reduce the crazy bloom on windows (which is actually a fault with UE4's auto-exposure I haven't found a way of fixing sensibly)

The 8 March update fixes several problems, which is great! Including the "black blobs" on fabric when RTAO is enabled without RT shadows. However there are some new problems introduced. See the sticky in Posts for what I'm working on and where they're at.

I'm getting this patch out quickly to address some 8-May bugs I've only just seen reported, it's not as tested as usual, but it should be moving things in the right direction.

  • The 8 March update appears to have set r.RayTracing.Reflections.ExperimentalDeferred.SmoothBias to 1.5, which makes emmissive and deferred lighting appear smoother to improve performance. However this appears make some objects super shiny (wood, etc.) especially indoors. Imo what they should have done instead is reduce the RT reflections ray length to improve performance (which I've done in this mod for a few versions). I've reverted r.RayTracing.Reflections.ExperimentalDeferred.SmoothBias to 0, which hopefully fixes the problem. See https://imgur.com/a/xlmfVjL for a comparison (some other things might look weird because I'm testing)
  • Reduced sharpening from 2.4 to 1 (!!) The 8 March update seems to have removed a step that was causing blurring from the rendering pipeline, so such extreme sharpening was no longer needed
  • Increased the number of RT shadow light sources that can render on screen from 3 to 8 (for now). I haven't found any instance where there are more than 8 lights that cast RT shadows on-screen. You will need to enable RT shadows to see this change. I still overall prefer the engine's shadows over RT shadows, but that's me 😜
  • Fixed dark landscape (shadows) appearing and moving in front of you as you walk
  • Improved accuraccy of shadows cast by hair and hats, and on many other objects. Previously these shadows had gaps or spaces before the shadow started, they shouldn't any more. This has been a long-term problem in vanilla so hopefully it's finally improved, though I don't think it's perfect yet.
  • Removed r.MaterialQualityLevel as it wasn't doing anything
  • Added groundwork for raytraced skylights as an improvement, though I don't know if I'll be able to enable it because it's badly broken inside for now
  • Changed RT Denoiser in Ultra+ Insane RT from 100 to 2. It appears the test code in '100' has been moved to '2'

  • Tested with 8-MAR-23 patch and working okay
  • Tested with Cinematic Ultra mod and removed some unimportant settings which may have forced lower quality instead of using Cinematic Ultra. Ultra+ and Cinematic Ultra are now completely compatible
  • Now attempting to force fullscreen mode via the Engine.ini. If you edit your GameUserSettings.ini to change to FullscreenMode to 0 and LastConfirmedFullscreenMode to 0 also. The setting should stick without write-protecting this file, as long as you don't change them in-game
  • Enabled discarding of unused shaders to save memory (testing)
  • Tries to force the UI to keep full textures/mips in memory to avoid a visual bug (seeing textures load in) when switching to the game/memory
  • Changes GTSync Type to 2 if available (falls back to 1 if not supported by hardware, which is what was set before)
  • Tries to use a fixed pool size again to prevent resizing the texture pool which is probably pointless (though i'm not convinced this works)
  • Added several settings with their default values for ease of tweaking
  • Slightly improved flickering shadows on faces (cast by hair) by increasing r.Shadow.wMaxMovableResolution to 8192. there isn't a large difference
  • between 4096 and 8192 but there is a difference, and shouldn't be a big performance difference since wMaxMovable shadows aren't used on many things (shadows for movable lights AND movable objects i think)
  • Reduced shadow distance scale to 1 (again), because this was what was making avatar and other shadows blurry when they shouldn't be - even with insane shadow resolutions (like 16384). 2 also works well and does draw some extra shadows at a distance, but at the cost of blurriness up close
  • Adjusted other shadow settings down because they no longer make any difference with the 8-March patch
  • Removed invisible junk characters after r.SceneColorFringeQuality=0 (thanks to a user who reported privately!)
  • Increased sharpness to 2.4 (again!) - am I going mad or does the game's sharpness keep changing?

  • Added "Uninstalling" section
  • Added "Quick Sstart" section
  • Restored colours to v1.4 settings - they were just too bright or too hazy in some situations
  • Reduced bloom back to 4. 5 really is a bit crazy. I even prefer bloom 3 on some lights, unfortunately several different properties are used on different lights so they all bloom differently. I may change this down to 3
  • Improved TAA by changing the algorithm from 0 to 1 and increasing TAA post-processing from 4 to 5. This enabled me to...
  • Reduce the screen sharpening from 2.4 to to 2.0, which makes the game sharpness even across all settings (DLAA, DLSS, native-res, etc.)
  • Increased minimum shadow resolution back to 512. This was the setting I decreased when people started reporting shadow striping on character faces, so it's reverted. I haven't been able to repro the bug though since... so still testing
  • Decreased shadow radius threshold from 0.03 to 0.01. This allows some smaller objects to cast shadows with no noticable fps difference
  • Increased maximum CSM shadow resolution to 4096. This enables cleaner sharper shadows in specific circumstances. 8192 also works well
  • Increased shadow draw distance from 1 to 3. This was previously reverted due to bugs with a draw distance of 5, however 3 works well with no bugs so far, and does increase the draw distance of some shadows
  • Corrected typo of r.EyeAdaptation.ExponentialTransitionDistan to r.EyeAdaptation.ExponentialTransitionDistance.. No change since this is the default value, it's just here for ease of changing
  • Alligned Engine with Comments file to all the other files, for ease of finding things and ease of maintenance
  • Added r,Fog and r.DisableDistortion to all files for ease of changing

  • There are now 2 new versions β€”
  • Full (RT AO) β€” The only difference is Full RT disables SSGI, which isn't used at all with Raytraced Ambient Occlusion yet still eats FPS (!). So if you like to use RTAO, Full (RT AO) is now insanely fast vs. default. Raytracing will still work with the regular Full version, only that SSGI wastes several fps
  • Insane RT β€” This is for people who turn everything on and set it to Ultra. RT is still a LOT faster, but the raytraced reflections settings in this are at much higher resolution and with full denoising, which costs a LOT so is probably best for 10GB or 12GB cards
  • Ray tracing memory and GPU requirement are now massively reduced in v1.5 Full (RT AO) version. Some of these changes were in testing in v1.4. I've now finalised them in v1.5. If you tried RT and couldn't run it, try again. Some anecdotal reports of 2x to 3x better performance with RT
  • (Note: RT shadows basically doesn't do anything, except cause an rare "black blob" bugs on fabrics if it's disabled, and cost fps. I'm trying to remove the black blobs. At the moment I'm running with RT AO and reflections only)
  • Contact shadows are what's been causing the shadow flickering. Setting them to halfres 99% fixes the flickering, but at dramatic quality loss. I've managed to find settings that fixes the quality loss! So halfres is now enabled by default, and flickering is gone in almost all situations. Thank you to yakuzadeso for extracting these console settings, because they're not published anywhere!
  • I'm experimenting with different colour dynamics. Color.Mid and Color.Max are adjusted, but the gamma is still the same, and bloom is slightly reduced. The sky blows out in many situations, which is just how this game is, but this helps make it a little more sane
  • Reduced skin subsurface scattering slightly and enabled r.SSS.Quality=1 (I can't see that this does anything but it doesn't cost any FPS so why not)
  • Enabled r.Streaming.UseFixedPoolSize=1 to try and prevent the engine resizing the pool-size mid-game which is a costly operation 
  • Removed r.DynamicShadows because it's been removed from the game

  • Tuned the look of raytraced reflections so they are less distracting and more subdued, especially on floors
  • Tried to clamp how much GPU the RT reflections use so they're much more consistent in different areas, this will hopefully fix several problem areas, still testing (feedback welcome!)
  • Forcibly enabled skin subsurface checkerboarding, which should stop any blown out skin
  • Slightly reduced skin subsurface light scattering. I think I'm finally happy with this now
  • Removed the eye-adaptation setting. I think it's causing brightness problems for some people, and I like the default eye-adaptation
  • Slightly lowered sharpness (again)

Note: I'm releasing this a little early because it addresses some problems people have been having. If you have any problems feel free to go back to a previous version and please let me know.
  • Slightly adjusted gamma and mid-tones to better blend RT elements with non-RT elements (otherwise they look like they don't belong together!)
  • Disabled RT "direct reflections" as this was causing most of the unstable RT reflections
  • Reduced RT reflection screen percentage to 40%. The engine seems to have a huge reliability problem allocating memory above 50%
  • Disabled RT reflection denoising, because this is also terribly buggy <80% screen percentage
  • Adjusted some other RT reflection settings so they look mostly acceptable (I'm still working on this)
  • Darkened raytraced Ambient Occlusion so it fits better in the overall scene
  • Hopefully fixed massive RT performance drops in many areas of the game
  • Increased sharpness (again) ... if it's too sharp please let me know

  • Greatly improved face textures, especially the player character, by increasing the skin subsurface scattering
  • Darkened global illumination shadows both during day and night so they fit in better. Now the land and water doesn't look so bright everywhere at night. Non-RT landscape shadows now match RT shadows more closely
  • Significantly reduced noise in ray traced reflections in certain situations

  • Tested and tuned ray tracing, especially reflections, so they are no longer noisy and look a lot more "real"
  • Ever so slightly darkened the black
  • I've changed r.VT.MaxAnisotropy back to 8 because snow looks blurry at 4. On balance, more obvious texture tiling at 8, vs. blurry snow at 4... I chose better snow
  • Configured shadows, ambient occlusion, and decals to blend in over 3 seconds, which is far less noticable than the default where things basically POP into view very suddenly
  • Halved the resolution of screenspace subsurface scattering, because there's no noticable difference

  • I was able to combine back into one file for convenience!
  • Increased sharpness
  • Disabled "allow tearing" for anyone who was having tearing problems
  • Re-introduced the streaming pool (of 3,076MB) since a number of people were having memory problems. If this doesn't fix things for you please let me know!

  • Removed the LOD settings for now as they have no effect and just cause problems.

  • Fixed weird reflections on metallic surfaces
  • Sun shadows now update every frame which makes their movement silky smooth as they move across the world (instead of stepped and obvious)
  • Fixed shadows in some specific circumstances
  • Made shadows on self and nearby objects sharper
  • Finally I'm happy with the bloom on windows and lights! It's not too bright, not too dim, it's just perfect!

  • Fixed the pixellated hair and trees! Please make sure you're using the correct version (FSR2.0, DLAA, DLSS, or Native Res). Let me know how you go 😊
  • Note, technically the AA post-processing does make textures a little less-sharp. I've tried to correct for this, but to my eyes because of the way this works, DLAA or DLSS Quality are the best-looking options for this game. You be the judge if DLSS Quality looks better than Native Res (DLSS doesn't need AA post-processing, but native-res does)
  • Turned distortion back on. HarkerN pointed out that this was removing distortion on spells (!) I had been specifically looking for distortion on fires etc. (and it's not there). So i've re-enabled it. If this causes performance problems please let me know. 

  • Just a quick update to change the r.Color.Mid from 0.75 to 0.72 since I wasn't quite happy with it. This seems like a good compromise to giving as much dynamic range as possible without starting to get that "washed out" look back or be too dark
  • I've also added a test file for the couple of people experiencing pixellated trees and hair. The only difference in this file is I don't change anything to do with anti-aliasing. Let me know how you go!
  • Updated the annotated options here
  • Added "Extra Option 4 - Disable Fog" to the notes on this page (above)

  • There are now 4 versions of the Engine.ini included (DLAA, DLSS/FSR2.0, and 'native res'), and a low-impact version that's high performance with colour adjustments only
  • Please choose which one suits your needs 😊
  • Set TAA to 'High' for the native res verison
  • Further tweaking to dynaic colour range and sharpness. It's close to before but nicer I think, please let me know what you think!
  • Reduced bloom slightly
  • Corrected shadow resolution settings which were using commands from an old version of UE4
  • Hopefully fixes shadow flickering, and overly bright areas in most situations

  • Improved by several FPS (even with the improvements... by disabling ambient occlusion which was still being calculated even though it's not used with global illumination)
  • Improved fog - shadows are now cast through fog, and fog in caves no longer flickers, but floats and changes gently (like real fog)
  • Improved reflection quality - Using a higher-resolution reflections they look more realistic and tweaked other related settings
  • Improved shadows - hopefully crepping/flickering shadows is greatly reduced
  • Pop-ins are greatly reduced across the board - but where they do happen they now fade in over 2s rather than suddenly, which I think looks nicer
  • Repeating textures (on beaches and dirt) made less noticable by reducing anisotropy slightly just for those areas
  • Fixing noisy raytraced reflections (optional)