Loading screen issue

I have a problem.
When I press "start game ", it remove from parent the menu user interface and load the user interface, loading screen, and then load the levels.
How can I create a loading screen not static with delay of 4/5 seconds, but until the levels doesn’t load all mesh, textures, material, map doesn’t appears at the screen and loading screen remains.
Accept the code also in c++.

The only answer that I can think off my head comes from this post in the wiki. The reason this is the only common way that I know is that normal level loading blocks the main thread which includes the UI.

Thanks a lot.