Frontloading PSO Precacheing Requests && More info on Dynamic Shader Loading

No worries.

One thing you could try is walking the asset registry for instances of objects in levels and getting the material overrides from there. We’ve done that to boost bundled PSO counts on a version too old to have precaching support. Trying to get material overrides for non-override objects in a blueprint does expand the search space beyond what’s reasonable, though. In this case, you may be able to load the instance directly as you can get soft references from the registry, but I haven’t tried using it that way.

There is a way, if you are okay with the increased memory use, to cut down on PSO request duplication between the system if D3D12.PSOPrecache.KeepLowLevel is set to 1.

Somebody who can speak to Fortnite’s implementation should respond in due course.

Best regards,

Chris