It can be complicated, but if you want to see an example, you can look at MonoGame samples [1]<p>The simple platformer has one source, but you should be able to compile it with Mono on Linux&#x2F;OSX&#x2F;Win or with Visual studio after you do the setup.<p>With Xamarin in the mix, your build targets can include Android and iOS.<p>Most of the time when I built with mono on linux, I was able to run the binary on windows, but I was creating smallish projects so far, so I don&#x27;t know how well that works for larger projects.<p>But with libraries, there are often built in such way, that you have shared interface, that will be usable no matter the target and during compilation the correct platform version would be linked, but my memory is kind-of hazy on the details.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;MonoGame&#x2F;MonoGame.Samples&#x2F;tree&#x2F;develop&#x2F;Platformer2D" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;MonoGame&#x2F;MonoGame.Samples&#x2F;tree&#x2F;develop&#x2F;Pl...</a>