Loading Screen System (Level Transitions w/ Progress)

Hi, am I correct in understanding if I want to create a ‘loading’ screen when connecting to a server your asset won’t work?

If so, how would you create a loading screen for such an example (e.g. from a ‘client-only’ lobby to server map)?

Thanks,

Hi, I have distance based world composition tiles. The engines handles their loading seamlessly, no problem with this.
I have problems with fast travel, when I set player location to a tile not yet loaded by world composition. Can I activate LSS in this case only?

I’m getting this error: can someone help please ? https://i.imgur.com/fSHs2pu.png

You can fix these by changing the Access Specifier for these two functions to “public”.
Open “\LSS_LoadingScreenSystem\Blueprints\BP_LSS_FunctionLibrary” and search for “LSS Error”

And similarly in “BPC_LSS_LoadingProgress”:

What Engine version are you using btw?

As of right now, this is not easily achievable - also if you’d spawn a transition pawn, this would mess up with World Composition loading (as it’s pawn location based).
The simplest way would be to just add a full-screen UMG for the duration, though with BP there’s no way to check what that duration is (i.e. when the surrounding WC levels have been loaded).

For the latter, I can give you a code plugin though, that will monitor World Composition’s streaming activity, so you can remove the UMG in time.

Thank you, I’m using 4.24

[quote=“inedible.red, post:190, topic:106450”]

I’ve just hit the same problem on a completely clean build in 4.24.3
Process :
create new project from VR template
Install plugin
Install marketplace content
Make link form marketplace to plugin
Change the parameter in the fade to support VR
Compile

I’m loving the potential of this system - just hitting a few glitches getting started. The documentation says

But I can’t find this example?

Particular order of some demo maps has been changed at some point but the documentation apparently wasn’t updated to reflect that in all places.
The correct level in question is “\Maps\07_ProgressBars_Map”

I was able to replicate the issue. Fixed and submitted hotfix.

That’s great - glad I was able to identify it for you

Do any of the examples show how to bind events when using map settings? I’m confused about how to do latent actions (in my case procedural generation) when using map settings. The Map settings examples I’ve seen don’t use any event binding and the event binding examples I’ve seen don’t use map settings.

Event bindings should work regardless of the method.

Example:

One issue you might run into is when the particular level name hasn’t been registered with the system yet.
In the example above that happens in “LSS Load Level”, but were you to call “Get LSS Level” before “LSS Load Level”, the former would fail.

You would need to register the level with “LSS Add Level” as shown in the existing examples, but also manually init its map settings:


Keeping the above node in mind, everything in the “06_AdvancedEventHandling_Map” example level should work also with the MapSettings configuration method.

Hope that helps!

PS: There’s also a “Set Level Settings” function if you need to *change *the type of associated map settings for an existing level.

Sup! I’ve been following the tutorials to add some loading screens to my project, it all runs without a hitch but there’s one issue I haven’t been able to solve:
I’ve set a loading screen before the main menu, you hit any key and it loads. However, for some reason mouse input is disabled so you need to click twice on screen for the buttons to work. That is, one click to activate mouse control and once again to click the menu buttons. It sound like a simple issue but I just can’t figure out how to make it so mouse inputs just work by default once the menu is loaded. I’ve tried stuff like adding an “enable input” node in the level blueprint, but it’s not working. What could the issue be? Thank you very much!

Common issue with UMG. Your Widget is not in focus, try Set Input Mode UI Only and plug the reference to your widget into it. Also, if your cursor is not visible, use “Set Show Mouse Cursor”.

Thanks! That solved the menu issue, although i also had to add “Set Input Mode Game And UI” in the main menu widget after clicking the Play button, otherwise it wouldn’t register keyboard inputs.

The only other issue I’ve run into is that sometimes an untextured sphere object appears floating in the air when loading up the levels. I’m guessing it’s got something to do with the persistent level or LSS logic but for all I know its position is random and only appears sometimes. Maybe it’s just a bug, I don’t know. Still, thank you so much for the help!

That untextured sphere is the Default Pawn, which gets created in the persistent level. Enabling “Start Players As Spectators” and “Delayed Start” in your Game Mode should take care of that.

Also, if you use the Pawn Handling feature of LSS (third tutorial video), it will hide or destroy any previously possessed pawn for you

I could not find a “delayed start” option in my project’s Game Mode, but I did enable “Start Players As Spectators” and I think it solved the issue. Thanks again!

Update: Sorry for the double post, but after doing a bit more testing I’ve realized the Default Pawn is still spawning sometimes. Like I said, I’ve enabled “Start Players As Spectators” in both my Game Modes (one being the default one for the LSS asset and the other one for the gameplay in my levels) but I can’t find the “Delayed Start” option anywhere. I’m using version 4.23 of the engine, btw.

If your GameMode derives from GameModeBase (the simplified class that Epic added at some point), it won’t have “Delayed Start”, that’s ok, just ignore that.
However, you will only need one Game Mode, not two - check “GameMode Override” in “WorldSettings” with your Persistent Level open and assign the one you need for your game.
Make sure “Start Players As Spectators” is enabled in that GameMode.

Instead of enabling “Start Players As Spectators” you can as well set the DefaultPawnClass in your GameMode to “SpectatorPawn” or even to “None”.