Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Can you recommend a good C# game engine for cross platform (Win/Mac/Linux, I don't care about consoles) development?

I've got some experience with raw OpenGL and I played around with Java bindings and the JMonkeyEngine. However I'm somewhat disappointed those solutions and I tried Ogre3D which seemed really promising but I would rather not have to develop with the PITA that is C++.

I've had a look at but this list is pretty overwhelming. I'm not looking for a all-in-one solution, i.e. I don't really require support for networking, audio and all that jazz but it wouldn't hurt if it's supported.

Maybe there's also an awesome Java solution out there that I don't know about?

share|improve this question

closed as off topic by Noctrine Aug 1 '12 at 18:01

Questions on Game Development Stack Exchange are expected to relate to game development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Does it have to be C# - what about java? – Dave O. Jul 21 '10 at 14:09
I certainly would be interested in what you'd recommend. – Raoul Jul 21 '10 at 14:27
I edited the question accordingly – Raoul Jul 21 '10 at 14:38
I commented on the according answer – Dave O. Jul 21 '10 at 18:13

Unity is actually using Mono in its back end. Though a lot of its scripting tutorials use JavaScript, you can actually program Unity completely in C# / Mono.

share|improve this answer
No Linux though. – Kaj Aug 15 '10 at 1:31
This is a great option for Win/Mac. Unity is very nice. – Corv1nus Aug 24 '10 at 20:59
My answer too. Unity is great. Shame about the Linux support, but perhaps it might come someday. – BerggreenDK Dec 1 '10 at 2:40

JMonkeyEngine is really the most recommended 3D engine for Java. Xith3D is sometimes recommended as an alternative, as it is also a scenegraph style graphics engine.

You could go with LWJGL or JOGL but those aren't engines so much as libraries, and you'd be writing raw OpenGL.

I don't recommend Java3D though, I think it's all but abandoned.

I think LWJGL is the best you're going to get, but again, it's a game library, not a graphics engine. OGRE is a scenegraph graphics engine like JMonkeyEngine; LWJGL is to Java what SDL is to C++. It provides functions for OpenGL, audio and input, and you are expected to run with that. I personally like that kind of power.

share|improve this answer
I was afraid of that. I've used JMonkeyEngine 1 and 2 but I'm not satisfied with their development practices and this gets worse with JME3. I think those guys know their 3D stuff but have no idea about sane Java development practices, no offense. I know LWJGL and JOGL of course, but I don't want to implement my own scenegraph API etc. (for now at least). – Raoul Jul 21 '10 at 15:22
@Raoul that's what I would recommend: The Light Weight Java Graphics Library, short LWJGL. The documentation is a little bit poor but it's generally only a wrapper around OpenGL. So if you know a bit OpenGL you feel familiar with LWJGL soon plus there are good tutorials available. for example was made with LWJGL :-) – Dave O. Jul 21 '10 at 18:12

I would look at Ardor3D and have another look at JMonkeyEngine.


Created by the original JMonkeyEngine developer(s) who decided a clean break was required so they could start over and use all the experienced gained developing it to create a better API and platform.

The people I know to have used Ardor3D have very positive things to say about its design and API. It is under active development and has a good community and good API documentation, although tutorials are a little short in supply and generally you'll have to be familiar with 3D programming concepts to be able to pick it up.


A community-lead takeover of the JMonkeyEngine the Ardor3D devs left behind, it has gone from strength to strength since the release of JME3 which addressed a number of shortcomings in the design of JME2.

There is ample documentation including tutorials and plenty of projects using it. If you had issues with JMonkeyEngine 2 or earlier, it is well worth another look at version 3.


share|improve this answer

The Axiom 3D Engine is based on a C# port of Ogre. It has DirectX, OpenGL and XNA renderers, so is very portable, though some platforms are not very actively maintained.

share|improve this answer
Also, it comes with a nifty editor. – drxzcl Aug 24 '10 at 21:53

take a look at Ploobs Engine, right now it supports XNA 4, it is opensource and has a lot of cool features:

share|improve this answer
+1, this one looks awesome. – iamcreasy Sep 27 '11 at 19:01
Thank you for your interest! – thelinuxlich Oct 11 '11 at 13:44

Look at and also check out the XNA framework.

share|improve this answer
The official XNA Framework is limited to Windows and XBox360, but I do believe there is an effort to bring it to the Mono platform (do a search on "MonoXNA"). – Mike Strobel Aug 10 '10 at 14:58

OpenTK is being used for MonoGame. MonoGame only supports the 2D api of XNA at the moment unfortunately, but you mentioned you had some OpenGL experience so you can use the OpenTK wrapper to do 3d graphics. You could also probably find a few scene graph libraries that are implemented in C# or in C++ with C# wrappers.

For audio, OpenTK wraps OpenAL, or if you want something more robust and plan on releasing the game as freeware, then FMOD doesn't cost anything to use. It gets pricy if you want to charge for your game. A cheaper alternative would be BASS.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.