Does unreal uses OpenGL or DirectX

Unreal engine uses OpenGL or DIrectX? I have seen some threads about it and they said it uses DirectX.
Then if it uses DIrectX how can you also make games for linux/mac/ps and so on?

Unreal has an abstraction layer (called RHI) above these platform-dependent apis, so it is able to use dx11 (soon dx12/vulkan) on windows, opengl (soon vulkan) on linux, metal on mac, etc

which is better than? vulkan, dx or opengl

Vulkan is going to be the best (except on mac where it is not supported because apple), but that’s not ready yet.

I don’t know much about vulkan, but between dx and opengl, definitely dx is superior. OpenGL , on the other hand easy to implement, and best suit for the beginners.