truong-bui / AsyncLoadingScreen

Async Loading Screen is a free and open-source plugin for Unreal Engine. Async Loading Screen allows you to easily configure a Loading Screen System in the project settings, and automatically add a Loading Screen whenever you open a new level, without Level Streaming.
https://www.unrealengine.com/marketplace/en-US/product/async-loading-screen
MIT License
776 stars 98 forks source link

Manually stop loading screen when level is ready #74

Open karakasis opened 1 year ago

karakasis commented 1 year ago

Can I use this plugin to have an infinite loading screen when going from main menu to game level, and use Stop loading screen node, to stop the loading manually on demand?

truong-bui commented 1 year ago

Hi @karakasis Unfortunately, the StopLoadingScreen node is not working correctly in Blueprint. I'll remove it soon in future updates. Please don't use it

However, you can enable the option "Wait for Manual Stop"=true and set the value for "MinimumLoadingScreenDisplayTime"=-1. This will allow the loading screen to continue until the player presses any button.

EDIT: I have rechecked the StopLoadingScreen node in the 5.2 version, and it works just fine. You can enable "Wait for Manual Stop"=true, "Allow Engine Tick"=true, and "MinimumLoadingScreenDisplayTime">=0. Then you can use StopLoadingScreen node. Note that you must call the StopLoadingScreen node only in the Event BeginPlay event ( you can use the Delay node before it). Otherwise, the StopLoadingScreen node doesn't work on other events like keyboard events.

karakasis commented 1 year ago

Hello, thats good news. Whats the reason behind Begin play event? And since its not clarified "begin play" of which blueprint? I have tested it in player controller blueprints and it seem to work there, but ideally I would like to call the stop loading screen node, after certain gameplay things have been set correctly, like I'm using gameplay ability system to load abilities and such, UI stuff. Can I somehow use the stop loading screen node at any other place instead of timing it with a delay node? Thanks

truong-bui commented 1 year ago

... Can I somehow use the stop loading screen node at any other place instead of timing it with a delay node? Thanks

Unfortunately, it's not possible. You can only use the StopLoadingScreen node on the BeginPlay of GameInstance, GameMode, or PlayerController blueprints. I haven't tested it on other blueprints.