Skip to main content
Inspiring
August 18, 2016

How to comply with 4 sec. initial load rule ?

Currently I use streaming levels. I have a small black room that loads first and then I have main level with all the assets and stuff that loads afterward (streaming in the background I assume). 

The setup is simple - I have 1 persistent level and inside I have black room that load on start and main level that loads/stream from Blueprint. Black room level has black room (floor, ceiling, 4 walls) and player character. Everything else is in the main level.

When I didn't have whole a lot of assets on the main level, UE4 app was loading in about 4 seconds. However, as I began adding more assets to my main level, loading times increased beyond 4 sec. It seems that UE4 is trying to load all the assets before loading my small black room. 

What do I need to do in order to comply with 4 sec. initial loading rule ?

Thanks
    This topic has been closed for replies.

    8 replies

    motorsepAuthor
    Inspiring
    August 19, 2016
    @vrdaveb @artyom17 @rpalandri

    Guys, do you happen to know the solution by chance ?
    Inspiring
    August 19, 2016
    I can't speak for Unreal, as I mostly do Unity development, but can you do some kind of asynchronous level load that begins at a splash screen? I think the 4-second rule is more about not having a black screen for more than that period of time. If you have something showing up on the screen (splash screens, loading animation, etc.) you can get more time to load your assets. Also, you can consider adding a fade from black effect on level load to get a little bit more time for things to pop-in.

    In our app (again, this is Unity based so I'm not sure the equivalent in UE), we have a splash screen that displays an animated logo for a few seconds while the level is loaded into memory (logo zooms in and scales up for at least 3-4 seconds). Once the level is loaded, we turn it on and begin a fade from black camera effect (which takes 2 seconds). This gives us ~5-6 seconds of time to load the level geometry, run initialization code, and do some AI warming/initialization. The screen is never fully black for more than a second or two, but we are able to get lots of initialization time in regardless.
    motorsepAuthor
    Inspiring
    August 19, 2016
    @delphinius81

    There is no VR splash screen in UE4 (I recall there is one that pops right up in Unity). So I literally have to load small level (box), spawn player there and then load main level in the background.

    In 4.11.2 loading time for that back box was about 4 sec. In 4.12.5 it feels like 6+ seconds (although I did not time it)
    Inspiring
    August 19, 2016
    Ah. It sounds like UE is just painfully slow loading it's own engine. :/ That explains something I noticed with "The Grand Canyon Experience" on the store. It also uses UE and took an extremely long time to load (in the 5+ second range).

    If that's the case, you'd still be staring at a black screen before any kind of custom splash screen appears anyway. I don't see how you can be held responsible for the lack of performance of the game engine itself, but Oculus people would have to comment on that...
    August 19, 2016
    Actually there is a new Oculus splash screen in 4.13 (or 4.12?) - I only noticed it recently:
    https://docs.unrealengine.com/latest/INT/BlueprintAPI/Input/OculusLibrary/index.html
    According to the doc there it works for gearvr but not tested it myself yet.
    motorsepAuthor
    Inspiring
    August 20, 2016
    I wonder if the splash logo will pop up within 4 sec window.

    The docs says "target is Oculus Function Library". How do I bring it into BP as I don't seem to find it anywhere (not as component and not on right click) ?
    August 22, 2016

    motorsep said:

    I wonder if the splash logo will pop up within 4 sec window.



    The docs says "target is Oculus Function Library". How do I bring it into BP as I don't seem to find it anywhere (not as component and not on right click) ?


    comes up for me with right mouse click - be sure you have activated the "Oculus Library" plugin in your project first ;)

    I've not really been able to get it working exactly yet - it comes up as a black screen for me and I have a feeling it will still come up too late to be a real first loading screen - seems like it more a splash for switching between levels. Thought about maybe disabling the level streaming loading your empty black level with one of these splash screens then loading your next real level?

    Another thing new in 4.13 by the way is there is now a Oculus spinner when loading your UE4 app for the first time - so maybe you don't need to worry about it after all if using 4.13? ;)

    PS: Also noticed the volume UI is done by default in 4.13!?! Looks like it done by the new Oculus SDK itself
    motorsepAuthor
    Inspiring
    August 23, 2016


    Another thing new in 4.13 by the way is there is now a Oculus spinner when loading your UE4 app for the first time - so maybe you don't need to worry about it after all if using 4.13? ;)

    PS: Also noticed the volume UI is done by default in 4.13!?! Looks like it done by the new Oculus SDK itself


    Oh, I haven't really dug UE 4.13 yet. Nice to know :)