Keep in mind that even NVidia's engineers didn't notice it somehow.
Regards,
SB
What is "it" though? Story needs more context.
Obviously no developer is going to come out and admit they didn't do their due diligence... but I mean come on.. When I first played The Ascent, I knew as soon as the game started up and I started moving around... and ESPECIALLY when shooting the exploding barrels... that there was a shader compilation issue.
I figured that out by simply running the game once.
He states they realized it "after the final builds were made" which lends credence to what I've been saying which is that they build the "final" shipping build... but don't realize that they need to play that very final build again, to collect the PSO data for all the final shaders that are in the game, and the rebuild it AGAIN after that.
So essentially they have the "final build" which is the entire content complete and final version of everything... and then they have to play the hell out of that final build to generate the full PSO data cache, and then rebuild it again to integrate it into the ACTUAL final build. lol
Here's my thing though... We know they announced that "automated PSO caching" system that they have planned upcoming for Unreal Engine 5.1... and the way it works is that when the assets are loaded into memory, the engine will automatically begin gathering all required PSO combos for that asset on background threads, which gives it more time to hopefully have everything compiled by the time it's needed. And now we know that you can use either method, or both the new method and the old PSO caching methods together, depending on what works best. But what I thought the "automated PSO gathering" was going to be.. that as the developers and testers played the game, it would generate the PSO data as normal, but that the automated part would be how it was reintegrated back into the new build. Right now you have to do a bunch of convoluted things to generate the files, grab the .scl.csv files from your project, put them in a different directory, then play the game to log the PSOs then extract the .upipelinecache files, then run another bat to create a new .csv file with the information from the pipelinecache files, then copy that back over to a certain directory and rebuild the project....
Basically it's convoluted as hell...
Why can't Unreal Engine just have a specific "build" type which does all that shit automatically?? You already have the development build, debug build, and shipping build... but why not add another new type of build.. let's call it "PipelineCaching Build"... which is specifically for generating those PSO caches. Devs would know, ok we're ready for shipping, but first now we have to create the "PipelineCaching build", have our team play the game furiously, and the engine automatically generates the files and gets them ready to integrate into the "final shipping build".
It should all be automatic so that the developers don't have to think to do any of that. Right now it doesn't even seem like some developers are aware that you can, or have to, do any of that.