Hi,
thanks for your reply. I consulted a colleague of mine and in 5.1, there is a way to determine if shaders are being compiled by using FShaderPipelineCache::NumPrecompilesRemaining() to check the number of outstanding PSO compiles as mentioned here (this works for both the bundled cache and PSO precaching) . You can modify your loading screen logic to check for this number and keep the loading screen up until it reaches zero. A similar comment with at the top of ShaderPipelineCache.h.
Please let me know if that helps.
Thanks,
Sam