However, it's not always that easy as checking a box. For example some shader optimizations may be specific to DirectX. File system works differently (no "User/Documents" on Mac). Or issues with native libraries.
Our game does work on Linux Proton though, that was a surprise to us.
Eg you would never use /tmp or %USER%/AppData, but call a function File::getPath(TempDirectory) or something like that.
C# has the very Windows-centric https://docs.microsoft.com/en-us/dotnet/api/system.environme...
Unity itself has the Application.*Path properties for some more general cross-platform-aware paths. https://docs.unity3d.com/ScriptReference/Application.html
It's just all those small things that has to be right to make it work cross platform.
In the old days, Java would advertise itself as being cross-platform (Write once, run anywhere!), but in practice, rarely worked that way.
Notably also, plenty of games work fine under Wine, but Steam client itself doesn't—on Mac.