Does UE4 have client-side prediction built in?

Have you tried this with network emulation enabled? Add any ping into the equation and it becomes unusable, too much rubber-banding on the client. Try it with the “average” and “bad” presets.