I had this problem with a 75% load. I can’t comment on whether there is something special about 45% (i.e. algorithm for the displayed loading percentage). But the solution in my case was pretty straightforward. Also I am glad I figured out the “why” of it because it is very very likely to come up again.
If you have C++ assets you wrote that exist under “C++ Classes” alongside “Content” it seems to always run default constructors when you load the sln file
**IMPORTANT DETAIL: **This seems to be true whether or not your objects have been instantiated in the project. So if your code default constructor gets stuck… so does the loading screen.
I did a lot of trial and error before I realized it was just the presence of certain C++ classes in the project that caused it. So went and ran/started the unreal editor using “debug” in Visual Studio. Once it got stuck I hit pause on execution. Sure enough it was stuck in an AActor constructor and as I stepped through the code I found the infinite loop that was causing it. The thing that was frustrating for a while is I had no idea what exactly had gone bad. I was already messing around with materials, blueprints, etc… I was not expecting to run into infinite loop errors for things that were not even placed in the level. But live and learn… hope that helps someone not to have to spend as much time I did on this…