Loading Screen System (Level Transitions w/ Progress)

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…

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.

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.

Q: Can I use LSS with Streaming Volumes?
A: There are two options to approach Streaming Volumes.

I have attached a link to a demo project where I set up both options:

  1. Download here (it’s a 4.18 project but can be opened in 4.18-4.23)
  2. Add Loading Screen System to that project from the launcher.
    You will find two folders in that project:
    “Example_A” and “Example_B”.

In short: Streaming Volumes can be set up in the persistent level as usual if levels use separate root levels as shown in Part 3 of the Tutorial series,
alternatively, default Streaming Volumes can be replaced with a simple, custom Blueprint Actor that does the exact same thing but is not limited to the root level (actor provided in the example project above).

Example project Overview:

Example A
Premise: Each level has its own root level (see Video 3, Playlist).

Level1 (root with LSS_Actor and Streaming Volumes)

  • Level A1 (initially loaded with LSS - streaming method: Blueprint)
  • Level B1 (triggered by Streaming Volumes in root)
  • Level C1 (triggered by Streaming Volumes in root)
  • Loading Screen Scene

Level2

  • Level A2 (initially loaded with LSS - streaming method: Blueprint)
  • Level B2 (triggered by Streaming Volumes in root)
  • Level C2 (triggered by Streaming Volumes in root)
  • Loading Screen Scene

Level1 and Level2 (root levels) have their own LSS_Actor set to load Level A1 or Level A2 on start.

Level C1 and Level C2 (in that example) contain a box trigger with an OnBeginOverlapEvent to go to Level1 or Level2.

To go from Level 1 to Level2 it uses the common “OpenLevel” node instead of the nodes provided by LSS.
Note: This approach is shown in example map “LSS_LoadingScreenSystem\Maps\11_OpenLevel_Map” (except for streaming volumes)

Note2: Plus of this method = separation and ability to change GameMode if needed;
Minus = doesn’t share levels such as loading screen and MainMenu, can result in more setup and transition might result in slightly longer black screen.

**Example B.
Premise: Shared root Level, custom Streaming Volume Actor. **

The problem with streaming volumes is that UE4 requires them to be in the root level,
but they are so simple in nature that a custom BP with OnBeginOverlap and OnEndOverlap can completely replace them.
I have created one in this example project under “Example_B/Blueprints/BP_Custom_StreamingVolume” - to use, just add to level, scale as needed and in details set Level.
The level will be loaded when a pawn enters the trigger and unloaded on exit.

The level structure looks like this:

RootLevel

  • Level1 (loaded by LSS node “LSS Load Level”)

  • Level A1 (loaded together with Level1, it is set as a Sublevel in the BP “Level1_SETTINGS”)

  • Level B1 (loaded by custom Streaming Volume in Level1)

  • Level C1 (loaded by custom Streaming Volume in Level1 )

  • Level2 (loaded by LSS node “LSS Load Level”)

  • Level A2 (loaded together with Level2, it is set as a Sublevel in the BP “Level2_SETTINGS”)

  • Level B2 (loaded by custom Streaming Volume in Level2)

  • Level C3 (loaded by custom Streaming Volume in Level2)

  • Loading Screen Scene

Level1 and Level2 have the custom Streaming Volume Actors.
Only Root has a LSS_Actor.
In this example, I’m using Map Settings Files (Level1_SETTINGS and Level2_SETTINGS), the documentation for those is located here: http://goo.gl/suqkyy
Those are optional, but recommended.
To go between Level1 and Level2, the trigger in C1 and C2 calls “LSS Open Levels” with Level1 or Level2.

I hope this example project helps with everything related to Steaming Volumes, but if something is unclear, just contact me anytime.

Cheers, Trips

You would ignore the “Default UI” setting and place an independent widget in the scene.
Then, set up an event binding with the “LSS Bind To Loading progress” node.
This event will run every time the progress changes, you can then use the value to update your widget or use it to manipulate any other onscreen object (floating text, actor, etc.).

You can find an example in the tutorial level “07_ProgressBars_Map”, or more specifically in the Level Blueprint of:
“LSS_LoadingScreenSystem\Maps\Streaming\LoadingScreen_04_ProgressBars_Map”

In regards to VR, also make sure you have the Screen Fade Component set to “Use Camera Manager (instead of UMG)”

The easiest approach is to let the LSS handle your pawn (see “15_PawnHandling_Map” example or Part 2 on this Playlist).
Aside from that, you can bind to the various events managed by the system (see “06_AdvancedEventHandling_Map”) and show / hide your pawns when loading starts / completes.

How does this work with Navmeshes? We have had a tough time using level streaming because it screws up the Navmeshes – the recast actor must be in the persistent level, and opening up sublevels on their own causes a new recast actor to be generated automatically, which fouls things up when the persistent level is reopened, etc. Does LSS not have this issue?

Unreal is able to consolidate Nav Meshes from streaming levels.
You need Nav Mesh Volumes both, in the Streaming Level as well as in the Persistent map. It shouldn’t mess up anything.

Preferably, the Nav Mesh in the Persistent Level should only serve as a dummy, preventing the system from deleting navigation when all levels are unloaded.

There seems to be a packaging bug with the 4.23 version of the plugin in 4.23.1.

I’m currently getting this error:


UATHelper: Packaging (Windows (64-bit)):   ERROR: Missing precompiled manifest for 'LoadingScreenSystemPlugin'. This module was most likely not flagged for being included in a precompiled build - set 'PrecompileForTargets = PrecompileTargetsType.Any;' in LoadingScreenSystemPlugin.build.cs to override.

If the Plugin is located in “Engine/Plugins” try moving it to your project’s “Plugins” directory instead.

this fixed the issue Thanks!

I’m currently getting an error in my project once the levels are loaded to 100%. This didn’t occur in the previous version of my project before I added the LSS
plugin. LSSCrash..JPG

This is occurring in a packaged build.

I’m unable to reproduce the issue on my end in 4.23.1.
Try the following to narrow it down:

  1. Disable “Enable Progress” and see if error still occurs.
  2. If error still occurs, disable the code plugin entirely.
  3. Try to reproduce the issue in a blank project (with Plugin and Progress enabled).
  4. If you have Blueprint Nativization enabled, try with it disabled.

I resolved the issue, it was unrelated to your plugin, apologies for misdiagnosing the issue.

No worries, glad it’s resolved.

Hi.
Will there be a UE4 4.24 update soon?

Loading Screen System and Loading Progress Plugin ^] updated to 4.24

Hello, I am a designer. I have a big developed map, then the question arose, and asynchronous loading it using your system, later I discovered your system, purchased it, found a perfect example 08_MainMenu_Map for me, unfortunately, when I change the map, I don’t Game mode works or some kind of problem, although when choosing the location of the standard package ue4 ThirdPersonExampleMap everything works fine, but unfortunately it does not work when creating a new map.

Hi,
Regarding the multiplayer support that is coming in 2.0, does it mean that the asset is going to be able to handle the “connect to a dedicated server” scenario? Or does it mean something else, like having the lobby level support multiplayer and replication?

In a nutshell, are there any important things you need to know when updating from the 4.23 plugin to 4.24? Is it enough to update the plugin or are there also code changes inside the content pack?

This system is really cool. However, I realized there is still no multiplayer with this. Is it coming soon or do I have to revert all my changes?(I just finished adding LSS to my game :slight_smile: