Level Streaming failing on 4.15 - MAC & iOS packaged, Cooked PC
This is probably user error, but it's code that's worked since 4.4ish and works on PC (including packaged builds).
My game has multiple minigames. Minigames can specify a level to load by name (stored in some json). Levels are stored as sublevels on the base level that is loaded.
They are then loaded through C++ or blueprint. Or not loaded in the case of 4.15....
That trailing '.' is pretty suspicious. I haven't told it about Levels/Speedy - just using the level name as seen in the levels window to specify what to load.
Side note: I also notice that the core level takes 1.6 seconds to load despite it containing only a single camera. Excessive?
I've tried a couple of approaches to making it work - 1) The original (probably nearly two years of just working (tm))
If I right click on the SpeedyLevel and get a reference then I get this:
Looking in the iOS cookeddata folder the umap (and other data) exists as you'd expect.
As far as I can tell PC works correctly, though now I'm going to dive back in and see if I can force the same error.
Confirmed that the solution works on iOS too.
My suggested fix (for the engine) is to add the following function to FPakPlatformFile:
And to modify the exclusion code to (not required, seems good though):
I would also suggest moving the setup of ExcludedNonPakExtensions currently found in FPakPlatformFile::Initialize to a higher level place, but if the ability to set them externally is available this is a bit moot, just it's pretty hidden the way it is.
Another option might be some first time only output as each extension gets excluded.
Follow this question
Once you sign in you will be able to subscribe for any updates here