Announcement

Collapse
No announcement yet.

Loading Screen System (Level Transitions w/ Progress)

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

    Originally posted by Ryan Darcey View Post
    Just integrated the code plugin for 4.22 and got this warning when compiling
    Thank you, I'll look into that.

    [Marketplace] Loading Screen System (ᴘʀᴏᴘᴇʀ ʟᴏᴀᴅɪɴɢ sᴄʀᴇᴇɴs, ɴᴏᴡ ᴡɪᴛʜ ᴘʀᴏɢʀᴇss ʙᴀʀs)
    [Free][Script] Automate Download of Mixamo Animations
    [VłĐɆØ] Performance: BP vs C++ vs Blueprint Nativization

    Comment


      4.23 caught me on vacation. I won't be able to properly update until the 16th.

      Though I'm fairly confident that the system will work in 4.23 projects just fine as is.
      [Marketplace] Loading Screen System (ᴘʀᴏᴘᴇʀ ʟᴏᴀᴅɪɴɢ sᴄʀᴇᴇɴs, ɴᴏᴡ ᴡɪᴛʜ ᴘʀᴏɢʀᴇss ʙᴀʀs)
      [Free][Script] Automate Download of Mixamo Animations
      [VłĐɆØ] Performance: BP vs C++ vs Blueprint Nativization

      Comment


        Hello, Will World Composition support be available soon? Thanks

        Comment


          I will be releasing V2 with multiplayer and world composition support in October.
          [Marketplace] Loading Screen System (ᴘʀᴏᴘᴇʀ ʟᴏᴀᴅɪɴɢ sᴄʀᴇᴇɴs, ɴᴏᴡ ᴡɪᴛʜ ᴘʀᴏɢʀᴇss ʙᴀʀs)
          [Free][Script] Automate Download of Mixamo Animations
          [VłĐɆØ] Performance: BP vs C++ vs Blueprint Nativization

          Comment


            Does this system work ok with Baked Lightmaps & Volumetric lightmaps? Please let me know, looks great. Thank you!
            --
            Barrett Meeker | Creative Director
            Lucky Pause, a video game company

            Comment


              First off, thank you for creating this.

              However, perhaps I'm not fully understanding the usage of it, as when I tried it out by following the Step by Step Example #2: Integration in existing content, any actors which I spawn in a loaded level (using the standard Spawn Actor From Class node within that loaded level) still exist when that level is then closed (they persist from the previously loaded level in all other levels, including the loading screen, after closing the loaded level). From what I can tell, any actors which were added to the loaded level in the editor itself, rather than being dynamically spawned at runtime, do get cleaned up correctly between level loads.

              I did try to use the LSS Add Level nodes in my Root persistant's Level Blueprint with the Persistant flag unchecked (rather than via adding them directly to the BP LSS Actor's "List of Levels" as shown in the aforementioned documentation steps) and then to switch levels, I used the LSS Load Level EX with the Close Other Levels and Close All Other Levels flags checked in an attempt to work around this, but I still have the same problem. Any help with this would be much appreciated...

              As a side note, does manually adding the levels to the BP LSS Actor's "List of Levels" via the editor rather than via blueprint nodes default to setting the Persistant flag on those levels to true or false? Likewise, does the standard LSS Load Level node close all other levels by default?

              Comment


                Originally posted by Beaker2005 View Post
                However, perhaps I'm not fully understanding the usage of it, as when I tried it out by following the Step by Step Example #2: Integration in existing content, any actors which I spawn in a loaded level (using the standard Spawn Actor From Class node within that loaded level) still exist when that level is then closed (they persist from the previously loaded level in all other levels, including the loading screen, after closing the loaded level). From what I can tell, any actors which were added to the loaded level in the editor itself, rather than being dynamically spawned at runtime, do get cleaned up correctly between level loads.
                By default "Spawn Actor From Class" will place the new actor in the persistent level. Thus it will not be affected by the loading state of any sublevels.
                Notice, that the node has an "Owner" input - if connected to any Actor placed in a sublevel, the spawned Actor will also belong to that sublevel and would be unloaded with that level.
                It works similar to placing Actors in the editor and changing the current level (highlighted in the "Levels" window) from the persistent level to a sublevel.

                Note, that the Actor will be gone if the level is unloaded and loaded again (Actor would have to be spawned once more).

                Originally posted by Beaker2005 View Post
                does manually adding the levels to the BP LSS Actor's "List of Levels" via the editor rather than via blueprint nodes default to setting the Persistant flag on those levels to true or false?
                True for the Loading Screen Scene
                False for Levels

                Persistent in this case means, the level is set to hidden (bShouldBeVisible=false), but not unloaded (bShouldBeLoaded=true).

                Originally posted by Beaker2005 View Post
                does manually adding the levels to the BP LSS Actor's "List of Levels" via the editor rather than via blueprint nodes default to setting the Persistant flag on those levels to true or false? Likewise, does the standard LSS Load Level node close all other levels by default?
                The "LSS Open Level" calls "LSS Open Level Ex" with "Close Other Levels=true" and "Close All Levels=false" (i.e. All except this level if it is already open).

                "LSS Load Levels" however is a newer node, that accepts "Map Settings" assets as parameter rather than the level name (Map Settings are config files for levels, which override all settings in the LSS Actor).

                I understand that having "LSS Open Level" and "LSS Load Level" is not ideal naming (unfortunately, nodes with different parameters can't share the same name) and having several systems can be confusing - these two methods will be streamlined in version 2.0 with a much more convenient set of nodes (and references to choose files instead of copying level names).
                [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 BarrettMeeker View Post
                  Does this system work ok with Baked Lightmaps & Volumetric lightmaps? Please let me know, looks great. Thank you!
                  Baked Lightmaps yes.
                  Volumetric Lightmaps, according to the Unreal documentation currently aren't working with level streaming.
                  If that hasn't changed, then those would not work.
                  [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

                    By default "Spawn Actor From Class" will place the new actor in the persistent level. Thus it will not be affected by the loading state of any sublevels.
                    Notice, that the node has an "Owner" input - if connected to any Actor placed in a sublevel, the spawned Actor will also belong to that sublevel and would be unloaded with that level.
                    It works similar to placing Actors in the editor and changing the current level (highlighted in the "Levels" window) from the persistent level to a sublevel.

                    Note, that the Actor will be gone if the level is unloaded and loaded again (Actor would have to be spawned once more).
                    Wow, thanks for the quick reply and great explanation! I didn't realise the 'Owner' on 'Spawn Actor from Class' was so important! Hooking that up correctly has resolved my problem.

                    Comment


                      New Tutorials: Playlist

                      Last edited by Cpt.Trips; 10-03-2019, 05:56 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


                        The BP_LSS_Actor appears to be changing my maps Game Mode to 'GameModeBase' which prevents my map from properly loading.

                        I have followed all the steps in the video and everything works fine, until it starts to load the actual game map. Instead of running my custom game mode it runs GameModeBase. Did I miss something?

                        It appears that what is happening, is that the default game mode defined in Project Settings>Maps&Modes overwrites the GameMode specified in the World Settings> GameModeOverride for the loaded level when using the LSS. If I load the level without the LSS, the correct game mode is applied. I am assuming this is not the intended behaviour?

                        Comment


                          Originally posted by Hardy Games View Post
                          The BP_LSS_Actor appears to be changing my maps Game Mode to 'GameModeBase' which prevents my map from properly loading.

                          I have followed all the steps in the video and everything works fine, until it starts to load the actual game map. Instead of running my custom game mode it runs GameModeBase. Did I miss something?

                          It appears that what is happening, is that the default game mode defined in Project Settings>Maps&Modes overwrites the GameMode specified in the World Settings> GameModeOverride for the loaded level when using the LSS. If I load the level without the LSS, the correct game mode is applied. I am assuming this is not the intended behaviour?
                          In Unreal, a single Game Mode is active at any given time.
                          It is set by the "GameModeOverride" of the persistent level (also referred to as "Root" level) or by Project Settings, if no override is set.
                          GameMode can only be switched when the current persistent level is closed and a new persistent level is opened (usually with the "Open Level" node).
                          GameMode will not be applied by the GameModeOverride of a sublevel.

                          LSS performs level transitions by streaming sublevels into the root level, it does not close the current persistent level at any time, thus the GameMode remains unchanged.

                          In your case, the GameModeOverride of your actual game level is ignored, because it is a sublevel.
                          Your root level has no GameModeOverride, therefore the Default Game Mode in Project Settings applies.

                          I have published a new series of video tutorials yesterday.
                          Part 3 will show you how to use LSS if your levels need different GameModes.

                          Keep in mind though, that by default, the game will spawn the "Default Pawn Class" (set in the GameMode) when the root level loads.
                          When using LSS, we don't want to load a pawn in the root level at all, therefore we set "Start Players As Spectators" and "Delayed" start in Game Mode.
                          Otherwise your game would spawn the pawn in the empty root level, before the game level (sublevel) has been loaded.
                          Your pawn would then potentially fall into empty space.

                          Part 2 will show how to manage the Pawn Class of sublevels without relying on the GameMode at all (it is recommended, that you watch all 3 videos in order).
                          Last edited by Cpt.Trips; 10-04-2019, 08:47 AM.
                          [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,
                            I have constant crash with my project for android, when the root level is loaded. I never tested it with an example project. Do i have to enable some other unreal engine plugin? Anyway, i am more interested in actual game loading progress. For example, instead of Launch Screen for android app, to have screen with progress bar for game loading. Is this possible? Any thoughts about this.
                            Thanks.

                            Comment


                              Originally posted by Mariyan View Post
                              Hi,
                              I have constant crash with my project for android, when the root level is loaded. I never tested it with an example project. Do i have to enable some other unreal engine plugin? Anyway, i am more interested in actual game loading progress. For example, instead of Launch Screen for android app, to have screen with progress bar for game loading. Is this possible? Any thoughts about this.
                              Thanks.
                              When the crash occurs, do you have the Loading Progress code plugin installed and has it been compiled for Android (it is provided as source and initially built for Win64 only, any other platforms need to be compiled individually)? Or does the crash occur with that plugin disabled / not installed?

                              [Marketplace] Loading Screen System (ᴘʀᴏᴘᴇʀ ʟᴏᴀᴅɪɴɢ sᴄʀᴇᴇɴs, ɴᴏᴡ ᴡɪᴛʜ ᴘʀᴏɢʀᴇss ʙᴀʀs)
                              [Free][Script] Automate Download of Mixamo Animations
                              [VłĐɆØ] Performance: BP vs C++ vs Blueprint Nativization

                              Comment


                                Aaah, the part with compiling for android should be the problem , my mistake. Just in curiosity, what do you think about game loading? Why i can't find any solution for tracking game loading progress, not level loading?

                                Comment

                                Working...
                                X