Loading Screen System (Level Transitions w/ Progress)

It doesnt show any errors and everything works but once the level is loaded which is my main menu, none of my menu widgets show up i will take screen shots now to show what im saying…
the first one is the loading screen working obviously lol
the second one is after i press space bar for it to open the main menu

the third photo is what it should look like…i opened up my main menu level by itself and PIE so you can see what it should look like.

thank you for the fast reply also.

Can you show me where you create the widget and add it to the viewport?
On a hunch, does the menu widget, by any chance, rely on a GameMode set for that particular sublevel in its own World Settings?

Keep in mind, that Unreal only uses the GameMode (and thus Player Controller etc.) set in the root level.
It can’t be switched until you’d transition to a different root level by calling OpenLevel.

Note, that while you can’t switch GameMode or PlayerController when loading sublevels, there is a custom Pawn Handling component to mitigate this limitation and allow Pawn settings on a per sublevel basis - see example map number 15 and this part of the documentation.

everything is in the same game mode though so im confused as to what your trying to say

edit ok yes they are in fact two different game modes between my main menu and my main level…so i guess i will follow the documentation and report back*

@ i have setup what you asked for and while it did work to some extent it is the wrong way in which i need…It loaded my main menu the exact same only difference was that it loaded my base character into the level and he is not needed in that level the Main Menu level is completely UMG based so I am either comlpetely stupid or this just wont work for my application…and im sure im just being completely stupid.

This is easy to solve. But first, what is happening: When any Unreal game starts (i.e. you play a level) the Engine will possess a pawn / character for you.
This can either be a pawn that is already in the map (you can see this in the Thirdperson Template) or if none is available, the Engine spawns the pawn specified in the Game Mode (that’s how the Firstperson template works, for example), at the location of a PlayerStart, or just in 0,0,0.

So in your case, Unreal takes the “Default Pawn Class” in your GameMode and spawns that pawn right at the beginning of the game (as there is nothing else there, we haven’t loaded in anything at this point after all). Meaning, your default pawn will get loaded in the empty root level, even before the loading screen appears. You obviously don’t need that, as your sublevels will have their own pawns.

So, first thing, go into GameMode and enable “Start Players As Spectators” (as seen in the video)

**
https://lh6.googleusercontent.com/Mp_79MJEIhcjGXTOTM_M8jTXtSzP0bHMsj6wRORQhIb8KJRBnggSZ1SFGccHC_rVwRz11lXpDKxDSd56oqFp3WxV54Noy0WqIcbHnqG7N__V9302pJnUVsOzpOYMM4K35mHij1Ii
**

And also “Delayed Start” if it is in your GameMode (only relevant if you are using the extended GameMode and not the simplified GameModeBase).

**
https://lh3.googleusercontent.com/7f3YZBDTFbpby8neNRtqUQem998IiebzeWHUIHVz3ZGbWRFEDmGW1T1iIcUpjcECR39G8KH1eeVQMrvzbxAg9ecUO8SRXaY94ndJteLadSPXBufDLw508l-4efF6eZLAwiIfW3KI
**

With the above, the game will no longer spawn your default pawn at the start.
Now, in order to have different pawns in different sublevels (or pawns at all), you have several options:

  1. (As seen in the video) Place your desired pawn into the sublevel (make sure the correct sublevel is active in the Levels tab, otherwise you will place it into the root level) and in the pawn’s details set “Auto Possess” to “Player 0”

**
https://lh4.googleusercontent.com/EgTlw4LfTpJ3i6ylyeH0YWCGDFglzJ_qbY9ibCvRhVXQjmi3HmKGl2PJ9Edzw1uqNIyufE7v7kLJN60ZGdKVpf9UE6yR5t3UehmRtd-iBVCn_LlbjpF9P-3kX7gmuIZwGzFwhUhG
**

  1. From Blueprint. You could use “Spawn Actor From Class” and “Possess” on BeginPlay (or hook it up to one of the various dispatchers that the LSS has available, see demo map “06_AdvancedEventHandling_Map” for examples).

**
https://lh6.googleusercontent.com/bsOSW6Qkn9jxUu1SvzCmwvWJIDD5Cc1aFd_Q4KLLqbbmm0L7iOPq5qCm0d_4sJdsaKSsmCSMqqWAcz14efYWzxj-n_nEQ3u-gsDa6ETIgvJ_acMsn-DqAircvoS4LGJg-p6NnNgv
**

  1. LSS has its own Pawn Handling feature that will mimic the default way the Engine spawns Player Characters / Pawns, but on a per sublevel basis. You will need to use a slightly different setup than just filling in level names in the LSS Actor’s details, instead, you would create a settings file for each level and feed that to the inputs in the LSS Actor. This feature has been introduced in the last update and is the recommended and most versatile setup.
    I will link the appropriate part of the documentation below and there’s also a whole demo level dedicated to this feature, see \Maps\15_PawnHandling_Map.

still never got it to work properly for me so im just going to give up on loading screens for now

I’m sorry to hear that. Whenever you decide to give it another go, you know where to find support.
PS: You can also contact me by email at any time if you prefer.

so i updated my project to 4.20 and when downloading your updated plugin i can not open the zip folder it keeps saying files are corrupt…same for 4.21

I’m assuming you are referring to the code plugin on itch.io (loading process) and not the system though the epic launcher?

It probably it’s a version issue with your WinRar, WinZip or whatever archive software you are using. Latest version of WinRar or 7zip should be able to unpack the archive without issues.

I’ll upload an alternative file for you and let you know.

Thank you and i updated to the latest version of jzip and it still says its corrupt
I appreciate you uploading another file for me to try

Here are the files in Google Docs, hope this works for you:

This is very useful for my world comp based game as well and would appreciate any functionality you can add to support it. Thanks.

The updated plugin that you posted here opened up fine with no issue. thank you for that
Now is it possible to use the LSS only in blueprints and not use the BP_LSS_Actor?
im still having issues getting it to work
basically what im asking is can i just simply have it in my code as (button Clicked) = Load Level

BP_LSS_Actor is the system’s main blueprint, i.e. it contains the whole logic. If you prefer not to place it in the world, you can spawn and set up everything from blueprint.

Once the actor is set up, all you have to do in order to invoke a level transition, is calling the function “LSS Load Level” or “LSS Open Level” (“LSS Open Level” expects a level name as input and requires more setup on the LSS Actor, while “LSS Load Level” (added in the last update) uses external per level settings files and therefore requires almost no setup on the LSS Actor itself)

Both functions are located in a Blueprint Function Library and require no references to the BP_LSS_Actor, you just call the function (e.g. from a button click).

If you could provide me with more information on your setup and desired outcome, I’ll make sure to guide you through any required steps. You can post here, per PM or via email, whatever means you prefer. Screenshots are always a plus.

Alight,
Rather than having a nice long conversation in the market place I decided to move to the official questions department.

I still seem to be having problems since implementing this and triggering an AI sense pawn/navigation set up.
Feel free to talk to me like I am stupid because I only have 6-8 months experience on this.

After putting this in my very basic zombies stopped working.
AI Sense pawn –> AI move to

I picked up the Nav mesh and set it back down and they started working again, I presume from recalculating and everything.
When I Load the level (which is a landscape with some “houses” in it) through your LSS system it stops working

And then when I just load up that level and click play they dont work right any more. If I walk all over them until they are moved by the collisions they will then become active and do what they are supposed to but otherwise stay there.
Changed the Navigation mesh to Dynamic as you recommended (and tried the force rebuild on load toggle both on/off)

Once I have JUST that level loaded if I shut down the editor and bring it back up. Then pick up the Nav mesh and set it back down they work right.

Debugging it I placed print strings
AI Sense Pawn —> Print String —> AI move to —> Print Strings from each exe

And this is what gets me confused AF. It is sensing the pawn. And the triggers go through the move to and fire the next print string. But there is no success or failure. MOST OF the time.
I get a “Saw pawn” and “Move to Fired” at the interval expected. (.05 seconds I believe, it’s still on default)
But nothing else.
SOME TIMES though it will throw out a “Movement Failed”

Guess is there is something in how the AI Navimesh loads through streaming and/or LSS that is causing it to be calculated wrong and get stuck. I would appreciate any further input/ideas.
(i am about to rebuild the enemies from ground up I believe. Being so so simple they need a better AI system and some of my parenting isn’t great with them being some first things I learned. [HR][/HR]

Other than that your system is GREAT
5/5 stars
It’s a bit complex for those that are new, but if they take their time and pay attention they definitely will learn from it.
Having so much content set up as examples is rough on file size with some of it hard to delete due to references. I have found that opening it and recreating it in a different folder so I can eventual remove whole files though, Hasn’t been too hard and has taught me a lot already.
Loading screen with a progress bar only took me an hour or so and works on every level transition.

Using Nav Meshes with Level Streaming, in general, seems to have some kinks…
Below are some similar issues, you can try the solutions suggested by Epic staff there (usually first answer):

https://forums.unrealengine.com/deve…evel-streaming
https://forums.unrealengine.com/deve…h-of-SubLevel=
https://forums.unrealengine.com/deve…ig-Landscapes=
https://answers.unrealengine.com/que…streaming.html
https://answers.unrealengine.com/que…streaming.html

Most promising appears having a navmesh in the Persistent Level as well as in the Streaming Levels.

Removing just parts of the examples could be a bit tricky, though if you wanted to get rid of anything and everything non-essential, you should be able to delete the “Maps” and “DemoContent” directories entirely. This would get rid of ca 400MB and leave you with just about 10MB of Blueprints.

(If you wanted to keep the UI templates working, there is currently a struct in “/DemoContent/Blueprints” that would have to stay (I’ll fix that in an update), leaving that subfolder should work though)

Your responses are much appreciated and go above and beyond.
I apologize for you having to do my googling for me, as I thought it was something in your system maybe effecting the AI controller or such. Not just a streaming issue.

I 100% love this purchase. I have recommended it to several people in discord for how well it works for setting this stuff up!

(btw zombies are operational if a bit retarded at the moment but, knowing what’s going on I can work it out from there. They are due a rebuild and a AI behavior tree)

You were right to ask, nothing wrong with that - the issue is not that apparent either.
Don’t hesitate to let me know if you run into any further issues - I’m not that great with videos, but I will always go out of my way to help where I can.

Hey, has there been any update on Network Replication? Also, will it work with dedicated server setup or only listen? Thanks.

For most intents and purposes it will not work with a dedicated server setup, i.e. it will work if all clients travel with the server (e.g. Team Match type of game) but it is incompatible with persisting worlds where individual clients would join at any time (e.g. MMOs).