Reducing loading times - what tricks available ?

Watched Carmack’s OC3 closing keynote and he asserted that long loading times is a very bad thing for Gear VR apps (long loading time can be a big turn off for users and I bet Oculus can even not let the app on the store due to loading times).

UE4 is notoriously slow when it comes to loading on Gear VR (development builds for sure) :frowning:

What tricks are available to ensure shorter loading times? (project settings, etc.)

Thanks

I don’t do GearVR development, but for general VR I use level streaming volumes.

When I want to move someone into a level, I load the minimal amount necessary and try to get people into the world as fast as possible. I start them off in a black box hidden way off the map. All they see is black. Then, I load the base part of the level (terrain, etc). When that finishes loading, I teleport people from the dark box into the world and then I run a “fade from black” function. The world may still be getting loaded in via level streaming, but I’ve at least got the player into the game world instead of staring at a loading screen. This takes about 2 seconds.

I’ve also broken my world up into chunked level streaming volumes. If you can’t see it, I don’t load it. This makes the memory footprint a bit smaller, and your load times are spread out over time and happen in the background.

Well, I have streaming levels too, but before first streaming level gets loaded (black room), UE4 itself takes forever to load.

Btw, this is my setup:

ue4_levels_hierarchy1.png

Persistent level has Sky sphere actor, lights, Lightmass volume
InitMap (always loaded) has player and black room (box)
FullMap (BP loaded) has everything else

So the idea is for InitMap to load and have player on it while FullMap is being loaded. Once FullMap is loaded, player gets teleported to the FullMap.

stat levels cmd shows levels load in order.

However, it feels as if all assets get loaded first, then the maps.

Never mind, solved it. I had some (a lot actually) hidden junk in my Persistent level. Moved things around and got decent loading times now.