Announcement

Collapse
No announcement yet.

Loading Screen System (Level Transitions w/ Progress)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    I'm not familiar with specifics of development for mobile. If "game loading" refers to the process of downloading the apk to the device then the plugin won't be of any help. If it means launching the app, then it would depend, whether we are talking about anything happening before or after your game can run its first BeginPlay.
    [Marketplace] Loading Screen System (ᴘʀᴏᴘᴇʀ ʟᴏᴀᴅɪɴɢ sᴄʀᴇᴇɴs, ɴᴏᴡ ᴡɪᴛʜ ᴘʀᴏɢʀᴇss ʙᴀʀs)
    [Free][Script] Automate Download of Mixamo Animations
    [VłĐɆØ] Performance: BP vs C++ vs Blueprint Nativization

    Comment


      Yes, it's about launching the app and loading the whole game before start loading the level, or even with the level and as you mentioned before first BeginPlay. I thought the principle should be similar for any game and platform? Something that could track the loading of all engine stuff and game assets to the point, where the game can start.

      Comment


        The way this is accomplished with LSS is, the level your game initially loads, is an empty map with sublevels which are set to be not loaded initially. A packaged game, when launched, at least on a platform such as Windows, should load into the initial map almost instantly as no assets are being loaded.

        At that point, the LSS actor placed in that map asynchronously loads the loading screen map, then once that has been displayed, starts loading the game level or levels in the background.
        [Marketplace] Loading Screen System (ᴘʀᴏᴘᴇʀ ʟᴏᴀᴅɪɴɢ sᴄʀᴇᴇɴs, ɴᴏᴡ ᴡɪᴛʜ ᴘʀᴏɢʀᴇss ʙᴀʀs)
        [Free][Script] Automate Download of Mixamo Animations
        [VłĐɆØ] Performance: BP vs C++ vs Blueprint Nativization

        Comment


          Hi there! Is it possible to keep on screen my loading screen while executing latent actions? At the moment in my case, it switches in the spinning cogs screen...
          Asteroids from Photogrammetry plus a mini game available in the UE4 Marketplace

          Comment


            Originally posted by romfeo View Post
            Hi there! Is it possible to keep on screen my loading screen while executing latent actions? At the moment in my case, it switches in the spinning cogs screen...
            Yes it is, look for the example level named "Alternate loading order".

            By default, the loading screen is closed before a level is made visible (they basically switch places behind the screen fade), the alternate loading order will make both visible at the same time, allowing the game level to apply latent actions, such as procedural generation, while the loading screen is visible.

            While it is just one checkbox on the LSS Actor, the example level will cover some setup ideas and troubleshooting.
            [Marketplace] Loading Screen System (ᴘʀᴏᴘᴇʀ ʟᴏᴀᴅɪɴɢ sᴄʀᴇᴇɴs, ɴᴏᴡ ᴡɪᴛʜ ᴘʀᴏɢʀᴇss ʙᴀʀs)
            [Free][Script] Automate Download of Mixamo Animations
            [VłĐɆØ] Performance: BP vs C++ vs Blueprint Nativization

            Comment


              Originally posted by Cpt.Trips View Post
              The way this is accomplished with LSS is, the level your game initially loads, is an empty map with sublevels which are set to be not loaded initially. A packaged game, when launched, at least on a platform such as Windows, should load into the initial map almost instantly as no assets are being loaded.

              At that point, the LSS actor placed in that map asynchronously loads the loading screen map, then once that has been displayed, starts loading the game level or levels in the background.
              Thanks for the explanation. May be i will try what will happen if i disable Launch Screen for Android and compile the plugin for the progress bar, then build the app and test it.

              Comment


                Originally posted by Cpt.Trips View Post

                Yes it is, look for the example level named "Alternate loading order".

                By default, the loading screen is closed before a level is made visible (they basically switch places behind the screen fade), the alternate loading order will make both visible at the same time, allowing the game level to apply latent actions, such as procedural generation, while the loading screen is visible.

                While it is just one checkbox on the LSS Actor, the example level will cover some setup ideas and troubleshooting.
                Thanks for your quick reply. I am not sure what I might be doing wrong, but when I Uncheck the LSS Set Load Order for my BP LSS Actor I get no loading screen at all...
                The BP LSS Actor has been placed in my root scene. In the Roots' level Blueprint I am referencing th LSS Actor and I am then setting the Load Order to false with my LSS Actor as the target...
                My loading scene is a simple 2D widget scene
                Last edited by romfeo; 10-09-2019, 09:48 AM.
                Asteroids from Photogrammetry plus a mini game available in the UE4 Marketplace

                Comment


                  Originally posted by romfeo View Post
                  Thanks for your quick reply. I am not sure what I might be doing wrong, but when I Uncheck the LSS Set Load Order for my BP LSS Actor I get no loading screen at all...
                  The BP LSS Actor has been placed in my root scene. In the Roots' level Blueprint I am referencing th LSS Actor and I am then setting the Load Order to false with my LSS Actor as the target...
                  My loading scene is a simple 2D widget scene
                  Keep in mind, that changing the values of the LSS Actor from Blueprint will only take effect for a level transition that is initiated afterwards, i.e. if the level transition is performed on start by enabling "Autoplay" in the Actor's details, that first transition could potentially run before the BeginPlay in the level blueprint fires.

                  It is also recommended, to use the nodes provided in the LSS Function Library (BP_LSS_FunctionLibrary) instead of changing properties directly in the LSS Actor (both will work, but the library functions include checks such as making sure not to interfere with an ongoing transition if it is in progress).
                  The node in question would be "LSS Set Load Order" (does not require a reference to the LSS Actor).

                  Does the 2D Widget show correctly when "Default" is checked for "Set Load Order"?

                  Could you also try it with a blank / template level - so it can be ruled out that something happening in that destination level is interfering with the Widget (for example a call to "Remove All Widgets")?
                  [Marketplace] Loading Screen System (ᴘʀᴏᴘᴇʀ ʟᴏᴀᴅɪɴɢ sᴄʀᴇᴇɴs, ɴᴏᴡ ᴡɪᴛʜ ᴘʀᴏɢʀᴇss ʙᴀʀs)
                  [Free][Script] Automate Download of Mixamo Animations
                  [VłĐɆØ] Performance: BP vs C++ vs Blueprint Nativization

                  Comment


                    Originally posted by Cpt.Trips View Post

                    Keep in mind, that changing the values of the LSS Actor from Blueprint will only take effect for a level transition that is initiated afterwards, i.e. if the level transition is performed on start by enabling "Autoplay" in the Actor's details, that first transition could potentially run before the BeginPlay in the level blueprint fires.

                    It is also recommended, to use the nodes provided in the LSS Function Library (BP_LSS_FunctionLibrary) instead of changing properties directly in the LSS Actor (both will work, but the library functions include checks such as making sure not to interfere with an ongoing transition if it is in progress).
                    The node in question would be "LSS Set Load Order" (does not require a reference to the LSS Actor).

                    Does the 2D Widget show correctly when "Default" is checked for "Set Load Order"?

                    Could you also try it with a blank / template level - so it can be ruled out that something happening in that destination level is interfering with the Widget (for example a call to "Remove All Widgets")?
                    Sorry but I am still confused.
                    Is there a checkbox for the Load order in the LSS Actor? I cant find one.
                    Placing the LSS Set Load Order from the LSS Function Library in my Event Begin Play has no effect in both LSS Set Load Order enabled or disabled...
                    Asteroids from Photogrammetry plus a mini game available in the UE4 Marketplace

                    Comment


                      Originally posted by romfeo View Post
                      Sorry but I am still confused.
                      Is there a checkbox for the Load order in the LSS Actor? I cant find one.
                      Placing the LSS Set Load Order from the LSS Function Library in my Event Begin Play has no effect in both LSS Set Load Order enabled or disabled...
                      It has no effect, because in your case the transition has probably already been initialized at that point (the node checks for that eventuality and will return false).

                      There is no checkbox for "Load Order" in the details. You could set "Autoplay" to false, then in your Level Blueprint's BeginPlay run: "LSS Set Load Order" and right after that call "LSS Open Level" (or "LSS Load Level" if you are using "Map Settings" assets).

                      Click image for larger version

Name:	LSS_SetLoadOrder.png
Views:	1
Size:	65.2 KB
ID:	1672406

                      Last edited by Cpt.Trips; 10-09-2019, 12:02 PM.
                      [Marketplace] Loading Screen System (ᴘʀᴏᴘᴇʀ ʟᴏᴀᴅɪɴɢ sᴄʀᴇᴇɴs, ɴᴏᴡ ᴡɪᴛʜ ᴘʀᴏɢʀᴇss ʙᴀʀs)
                      [Free][Script] Automate Download of Mixamo Animations
                      [VłĐɆØ] Performance: BP vs C++ vs Blueprint Nativization

                      Comment


                        Originally posted by Cpt.Trips View Post
                        It has no effect, because in your case the transition has probably already been initialized at that point (the node checks for that eventuality and will return false).

                        There is no checkbox for "Load Order" in the details. You could set "Autoplay" to false, then in your Level Blueprint's BeginPlay run: "LSS Set Load Order" and right after that call "LSS Open Level" (or "LSS Load Level" if you are using "Map Settings" assets).

                        Click image for larger version

Name:	LSS_SetLoadOrder.png
Views:	1
Size:	65.2 KB
ID:	1672406
                        It makes sense now and your solution above works... Only problem now is that the Loading screen (or the widget that is added to the viewport by the loading screen) remains on screen when loading completes...
                        Asteroids from Photogrammetry plus a mini game available in the UE4 Marketplace

                        Comment


                          Originally posted by romfeo View Post
                          Only problem now is that the Loading screen (or the widget that is added to the viewport by the loading screen) remains on screen when loading completes...
                          Is the Widget being added by the LSS ("Use Default UI")?
                          Is "Input Required To Continue" enabled by any chance and not entered?

                          Other than that, to use Latent Actions, you would be setting any of the level's events to "Require Confirmation" (examples in "06_AdvancedEventHandling_Map" as well as in "10_AlternativeEventOrder_Map"), then as soon as any latent actions in that event are complete, you need to notify the system with "LSS Send Confirmation".

                          Otherwise the system will assume the event is still running and won't proceed.
                          [Marketplace] Loading Screen System (ᴘʀᴏᴘᴇʀ ʟᴏᴀᴅɪɴɢ sᴄʀᴇᴇɴs, ɴᴏᴡ ᴡɪᴛʜ ᴘʀᴏɢʀᴇss ʙᴀʀs)
                          [Free][Script] Automate Download of Mixamo Animations
                          [VłĐɆØ] Performance: BP vs C++ vs Blueprint Nativization

                          Comment


                            I am using the load system in VR. How do i make the percentage loading screen to work in VR? I would need to make a widget and add the UMG into it. Just don't know how to add a 3d widget to the LSS. It wont let me add an actor.

                            Also I want to know how to hide my Pawn during the Loading Screen.
                            Last edited by lafilmcompany; 10-19-2019, 11:35 PM.

                            Comment

                            Working...
                            X