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.
Are you looking for a loading system without Level Streaming? If yes, then you already found GOLD :)
Usually, you have to use Level Streaming for loading screens because User Widget is destroyed at level transition, and level loading runs on the main thread, which blocks any other game activities until it's completed. So you will need to control which object is loaded/unloaded manually. Also, you can't use different Game Mode and Player Controller for each level, and sometimes there's still occasional freezing.
That said, you may need to change your game logic to fit with the Level Streaming mechanic, and it requires a lot of work to achieve a simple thing: Add a Loading Screen. To create a custom loading screen without Level Streaming, you must do it in Unreal C++. However, this is a challenging task for artists and designers, even for developers unfamiliar with the Slate framework and engine module code. Async Loading Screen plug-in comes to a savior.
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. Async Loading Screen also comes with pre-design UI layouts and default icons, making it easy to customize your loading screen in a few minutes.
Number of C++ Classes: 15
Supported Development Platforms: Windows, Mac, Linux
Supported Target Build Platforms: Windows, Mac, Linux, iOS, Android
Documentation: https://github.com/truong-bui/AsyncLoadingScreen