When you update to a new engine version, move a project to a new engine version or anything like that, you will have to recompile all shaders. Being “stuck” on 45% is almost always shader compilation. This can take a long time. Shader compilation is multithreaded and a faster CPU will help, but in my experience you will need a considerably faster CPU, like a Threadripper, to make any real difference. Moving from an i5 to an i7 will barely make a dent.
Shader Compiling can also be distributed with XGE (Incredibuild) - but that’s only beneficial if you can a) afford the insane incredibuild license costs and b) have a few spare PC’s lying around at home.
You can reduce shader compilation times by making sure that your material “usage” flags are set properly, and by disabling rendering features which create more shader permutations (such as disabling pointlights for example).
I agree however, that the splash screen should give some indication as to what it’s currnetly doing. If you open the engine through visual studio however, you get a nice readout of what the engine is doing in the output log - even if the engine itself is locked up. Pros of being a CPP developer