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

bWaitForManualStop=True leads to game not being able to close correctly (packaged game) #93

Open sebi3110 opened 4 months ago

sebi3110 commented 4 months ago

Hi there,

I found that bWaitForManualStop=True leads to game not being able to close correctly in a packaged game and it justs hangs. Only taskmanager can close the game then.

When I set it back to false the game can close correctly again.

EDIT: The problem occured again, although I set bWaitForManualStop to false.

So i tried some more things, and what it seemed to fix now was to set MinimumLoadingScreenDisplayTime from 0.1 to -1 again.

EDIT2: Unfortunately I encountered this bug again, even though I resetted all settings back to how it was before I tried this manual stop thing. Before it was working without a problem

truong-bui commented 4 months ago

Hi,

Can you provide a screenshot of your settings so I can take a look at it?

sebi3110 commented 4 months ago

Sure, here you go. Is there something else I can provide to help you reproduce it? image

truong-bui commented 4 months ago

Sure, here you go. Is there something else I can provide to help you reproduce it?

Thanks. I recommend you disable Wait for Manual Stop, Allow Engine Tick, and set Minimum Loading Screen Display Time to -1 in the Default Loading Screen section.

Those are the MoviePlayer module's settings, which is the module that AsyncLoadingScreen plugin depends on. So, if it has issues, I cannot fix this.

sebi3110 commented 4 months ago

Thanks for your response. I set these back to the default values, as you suggested, but at first this didn't help. Only deleting the cache, cooked packages etc, pp resolved this issue.

But this of course not what I wanted initially. I'd like to control the stopping of the loading screen manually, but this seems to be not possible right now then?

truong-bui commented 4 months ago

It is possible, but you need to call it in the Slate thread because the Game thread freezes until the MoviePlayer module shuts down. It means that your logic code in Blueprint does not work. May try to workaround by creating a UMG loading screen to cover the data loading in Blueprint instead.