Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
motorsep's avatar
motorsep
Start Partner
9 years ago

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

8 Replies

Replies have been turned off for this discussion
  • motorsep's avatar
    motorsep
    Start Partner
    @vrdaveb @artyom17 @rpalandri

    Guys, do you happen to know the solution by chance ?
  • 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.
  • motorsep's avatar
    motorsep
    Start Partner
    @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)
  • 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...
  • motorsep's avatar
    motorsep
    Start Partner
    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) ?
  • Anonymous's avatar
    Anonymous

    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
  • motorsep's avatar
    motorsep
    Start Partner


    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 :)