As a unity developer myself I can say that it’s pretty trivial to change between rendering backends in unity, unity does the bulk of the work.
Unity uses a modified version of HLSL for shaders, modified so that it can be compiled to all the other backends. (See: https://docs.unity3d.com/Manual/SL-ShadingLanguage.html )