Yes, and this is a low level translation at the last moment on the GPU, not the same thing that Unreal is doing, at all.
If a game actually had to compile engine level shaders when you first ran it, you would have to wait hours before you could play the game ![]()