UE 5.7 PSO Cache Hash Mismatch: "PSO from the cache was not found"

Since migrating to Unreal Engine 5.7, we are encountering an issue where pre-gathered PSO caches included in the package are seemingly ignored or mismatched.

The log repeatedly shows: Warning: PSO from the cache was not found in the cache!, which forces the engine to re-collect PSOs at runtime causing hitches.

We have tried the following steps to resolve this:

  1. Gathered new PSOs using the 5.7 build.

  2. Performed a completely clean wipe (deleted Saved, Intermediate, and Build folders).

  3. Repackaged with the freshly gathered .spc file.

However, the issue persists. Even if we include the newly collected PSOs, the engine still reports them as “not found” in the subsequent package, creating an infinite loop of re-gathering.

We did not have this issue in UE 5.6, and our packaging environment/workflow has not changed since the migration.

Has anyone else experienced this issue in 5.7? Is there a known solution or workaround?

// Example Log
LogRHI: Warning: PSO from the cache was not found in the cache! PSOHash:

I’ve just upgraded to UE 5.7.4 and have had the exact same problem. Bundled PSOs and precompiling shaders at startup was working fine in 5.6 and now, even if I rebuild everything, re-record PSOs clean and rebuild, it doesn’t work.

The packaging system claims that it’s including all the bundled PSOs:

LogShaderPipelineCacheTools: Display: Number of PSOs after sanity checks:......................................................    842 PSOs
LogShaderPipelineCacheTools: Display: Wrote 842 binary PSOs (graphics: 608 compute: 234 RT: 0), (345KB) 

But on launching the game with -clearPSODriverCache I get loads of instances of this:

[2026.05.22-15.03.19:351][  0]LogRHI: Warning: PSO from the cache was not found in the cache! PSOHash: 3120637291
[2026.05.22-15.03.19:351][  0]LogRHI: Warning: PSO from the cache was not found in the cache! PSOHash: 1353440986
[2026.05.22-15.03.19:351][  0]LogRHI: Warning: PSO from the cache was not found in the cache! PSOHash: 3140050290
[2026.05.22-15.03.19:352][  0]LogRHI: Warning: PSO from the cache was not found in the cache! PSOHash: 1469201926
...

This is when entering the starting level which was definitely recorded with -logPSO . :frowning:

FWIW in case anyone else follows up and wonders what happened (as I did for the OP), I decided to revert back to 5.6.1 and instead switch to a source build and cherry-pick fixes to the bugs that are a problem to us. I have no clue where to start with this 5.7 bundled PSOs issue but the 5.6 bugs are easier to fix, and who knows what else 5.7 breaks that we haven’t spotted yet?

UE really needs to have a LTS version where bugs are just fixed and new ones aren’t constantly added. Every upgrade I’ve done of 5.x has introduced at least one serious new bug, and I’m kinda done with it, I’m going to maintain my own version now to keep my sanity.