How to reduce extremely slow level loading

Hey guys
For a while now​​​​​​ I have been struggling with slow level transition. I have managed it until now when I am getting close to testing with other people, I don’t want them sitting around for 4 minutes waiting for a level to load!
I am guessing it is due to the amount of things being loaded, does anyone have any suggestions on what to do to reduce the loading times?

Atm A player will host a game and enter a lobby level (up to 3 minutes loading because you can run around with your character in the lobby). After a countdown the server travels all players who has joined to the main level (another 5 minutes…). This will eventually run on a dedicated server, I just haven’t set one up yet

as you can see it is not a very good playing experience when you sit and look at a loading screen for 5 minutes+


Would loading the level in chunks via level streaming help or would it still be the same time?

So It takes 4-5 minutes for your level to load, This Reminds me of the 1980’s c64 slow tape loader games before the fast turbo loaders came in. You can either stream your map to speed things up, but I think its more work in shifting things all around to load the level in by chunks. Or you can just put an movie on the screen that can’t be skipped while the game is loading. I don’t think this engine even loads in anything smooth and fast if its not been level streamed. So i think it will load like a tortoise plodding all along the progress bar. That stops and starts all the time
as its busy loading… I think that’s how it loads when its not been level streamed…

Exactly, it has become painful testing the game server travelling etc because it’s taking 5-10 minutes a time for creating/joining a session!

I have tried loading the level with no game mode set and it is instant… so obviously loading my Game mode, character, controller etc is costing too much

Users are NOT going to like waiting for 5-10 minutes for a level to load…

I know that, that is why I am asking if anyone has any ideas to reduce the times. I have found that if I load my level with no game mode it is instant. So obviously loading my Game mode, which in turn references character etc is costing a hell of a lot.

I am going through loose references that are referencing actors that shouldn’t be to save memory.

I will also try loading things when the game is launched and use a splash screen/credits to hide it (atm the game is launching and just loading main menu so it is instant). Then when I load a level, the bulk of it has already loaded into memory…

I’m currently sat at around 70 seconds to fully load the level xD

There must be something going on if the game mode is chewing up all the memory.

We have this huge massive skybox in this Unreal engine, and its massive. We can’t fill the whole skybox up with all our stuff because the skybox is just too big. How the engine manages all its files, and its resources, and how it renders things inside that giant sky sphere If you are doing a small map then the engine should able to load it quickly. But if you are doing a large map area with alot of things on it inside that sky sphere, then Level Streaming is the only way to go really if you don’t want long load times Except the thing is we can’t break up that big massive sphere, but we can break up our own levels that are inside it. How many polys are is that Sphere I dunno I removed the sphere from my level and used a simple flat scrolling paper sprite for a sky instead, very crude, but it was effective so now the engine dosen’t have to render this big huge sphere no more but just renders a smaller 12000 x 12000 square for my sky, and just hide it with a few raised hills. I do very crude awful things in this engine to try to speed things up. because I don’t know how to level stream my map yet.

It amuses me, to find a world class graphics engine loading its levels in like an old commodore c64 tape loader. Especially if its a big map or has a ton of things in it. So i guess the only way to get it to reduce the loading time is to either A) water down things (drop the poly count), B) reduce the number of meshes that you are loading, or just level stream it (which might take hours to set up).

I’ve got it down to 4 seconds using the size map and reference viewer… lots of blueprints where being referenced in memory when they wasn’t needed… I’ve worked through them and now it’s nearly instant :slight_smile:

Ah… Now that makes some sense, good to see its going more faster now.

Glad you got it sorted! … An unsolvable roadblock I’ve run up against is Landscapes.

Even if landscapes are cloned and identical apart from different transformations etc, UE4 continues to store them all separately in the level-file which makes loading times hard to live with… Solution / workaround? Never found any, so had to drop landscapes altogether in favor of meshes. But that’s hardly a viable general solution…

I still have quite slow loading times when the landscape is involved… on occasion pushing 40 seconds xD no idea how to get around that apart from world composition and level streaming. I have split meshes etc into separate sub levels that load after players enter to get the initial load quicker but still quite slow loading the landscape (4x4km not world composition)

But how do you do it? Is there any video tutorial?

Use the Reference Viewer to identify references and dependencies