Actually, Unity's surface shaders are more or less 3d-system-agnostic. Some features will of course degrade when the underlying system doesn't support them, and some, although supported, will be too intense for the hardware (e.g. fog on mobiles).
It is of course possible to create a platform-dependent game: in fact, it's as easy as File.ReadAllText("C:/Windows/blah").
However, the majority of real content that has been tried has run out of the box with no major issues.