which c# language version is supported by unity 3.1?


I am a little confused concerning the supported c# language version of unity...I've read conflicting statements that it would support only c# 2.0, 3.0 or already most of c#4.0 I do not think the last one is true, since they keyword 'dynamic' is not recognized.

So, could somebody tell me, which c# version is now supported and if most of the stuff of c# 4.0 gets supported in the foreseeable future?


Unity currently uses Mono 2.6, which has partial C# 4.0 support. Full C# 4.0 support is in Mono 2.8, but I doubt Unity will use that, since the next long-term support release for Mono is 3.0. So it will probably be a while before C# 4.0 is fully supported in Unity.

Eric's right -- see the Mono 2.6 Release Notes for details, and the Mono Compatibility page (which unfortunately doesn't seem to be available for anything but the latest 2.8 version).

The release notes indicate you need to set a configuration flag to enable 4.0 features, which I'm guessing (but it's a guess) Unity devs did not do.

On a practical note, when I'm reading MSDN docs, I usually tell it to show me the info for version 3.5.

Version 3.5 of Unity supports MonoDevelop 2.8.2 according to this page:

Unity 3.5 supports Mono 2.8.2 according to this link:

Hello, the c# that unity use is called c-sharp, it is commonly used for windows programs. I was confused when I started because I thought it was like normal c (for mac). Its probably that they start using c# 4.0 but until now i reccomend you picking books on c# 2.0 or 3.0.