So I’m trying to make a loading screen with a progress bar. I have the widgets and everything made. What I don’t know how to start or set up is the progress bar to fill up from 0-100 so it can load the next level. And the tutorials I find all deal with health bars and taking damage, which is helpful but not what I need help with. Someone help please…
You can do it with slate widgets.
I never used slate widgets before… But do you know how to do it in widget blueprint?
havnt done this so far, but it sound like a feature most games will have.
Here are some ideas:
- Widget creation inside the GameInstance because your are talking about level transition and we need something persistent. So create and destroy your widget inside the gameinstance.
- Maybe here is it a good idea to load levels via streaming, which gets you at least a “Completed” where you can set your progress bar to 1 after. But honestly
i have no idea how to get the “Progress” out of open/load level, and even how do you define the progress in percentage then… I even have no idea how to make it in c++.
- but as soon as you get some kind of callback during level streaming with the percentage info it would be very easy to display it in your progress bar
I know how you can make a fake one, but I too do not know and would like to know with what you must bind progress bar in order for it to display for REAL the progress of the loading level till completion.
How do I bind the progress bar so it can fill up. That’s what I can’t figure out how to do.
All the secret is how to see if something has loaded up. For example a terrain. If we could check if it was loaded or not, we could set a bool variable to hold this check and then add +5 or +10 to the progress bar if this part(the terrain) of the loading procedure is done.
Maybe Epic has any idea on this or an advanced user?
bump, Epic Games any ideas?
We had this discussion a short while ago. The thing is:
To display such a REAL loading bar, you need to have a lot of information about what is loading and when.
You would do yourself a favor if you would just fake it and, later on, guess how long it would take and let the progress bar fill up.
Or you maybe think about a way to have a loading screen without a progress bar. (: I mean, there are a lot of cool loading screens (maybe interactive)
that are way cooler than watching a loading bar.
The point is not to make a loading screen, I know how to do this. The point is to LEARN how to make a REAL one like many big games have one.
How do we collect this info?
Like i said, that’s not easy. The data is coming from a lot of different places.
You are better off just faking it. Also, since this is the BP subforum, this will not be possible
in BPs only. I’m pretty sure you will need C++ to get all the infos about what things are loaded.
It’s just not worth the effort.
The point is not if it’s difficult or not, the point is to learn how to do this mate. So I’ll better head to the C++ subforum, thanks
You can fake it by storing the history of time taken to load a map - you can store probably five and then average them up. So now you have the approximation of time taken to load a scene, you can simply use it update the progress bar accordingly (using timer etc).
Well if you do level streaming, couldn’t you have each aspect of the map in a different level and stream them in? It’d seem to me you could have a list of all the maps you need loaded and then you can fill the bar based on the maps that have been streamed in. Not entirely sure how viable this is from a LD standpoint, but it might be what you’re looking for.
Small details (.1)
wall decor (.1)
each of these being a streaming level, which load in after the main level. When they are loaded, have them fill the bar by their assigned percentage. When the bar is filled remove the screen and start running game logic.