So I am the type of person that wants my code to run everywhere it possibly can. I don’t want to miss a single market if at all possible. This means that as a developer, I would need to focus on what is called “cross-platform development”.
So I took my time, and I began converting my code using Mono. I converted all of the code for my MMORPG “Legion Online” from Java and LWJGL to C# and OpenTK. Afterwards I found that it wouldn’t function properly on Mac computer no matter what I did. So basically, I spent 3 weeks converting code from Java to C# all for nothing. Then I had to convert it back because I had already added new functionality to the client. Unfortunately I did not trace these client changes beforehand.
So unless you like converting code, I do not recommend programming anything cross-platform in C#. If you are looking for cross-platform development, maybe you should try using C# with a tool like Unity. Otherwise, I would look for other programming languages to give it a shot with.
DO NOT CODE IN C# IF YOU WANT CROSS-PLATFORM ANYTHING!
Or if you are, make sure you’re using a cross-platform development tool like Unity. What a waste of time…