asked Feb 05 '11 at 12:20 PM
if you're into Unity for the long term, I'd recommend C#
if you're just tinkering around with Unity to see what it can do ... then UnityScript is fine
I'm currently in the process of switching to C#, since coding in that language is much more current object oriented programming style (e.g. C# for .NET, its very close to Java programming etc.)
I would expect most serious Unity programmers to work in C#
so if you think you'll be doing a lot of coding (in general, or specially for Unity) then C# is the way to go
if you haven't done much programming before, then either (a) learn Unity with UnityScript to get a feel for what programming is, then switch (not too hard) or (b) learn to program in Java or C# first, and then apply what you've learnt to C# programming in Unity
finally ... the C# way of programming in Unity makes it much more obvious that you are programming in an Object Oriented language, and that what you attach a script to a GameObject you're actually adding an "instance" of your script class to the GameObject - but if this last sentence is gobblygoop to you, then you'll want to learn some OO programming concepts before jumping into C# in Unity
I hope this helps ... Matt ..
p.s. I've been teaching programming to novice computer students at various universities and colleges for over 10 years, and am happily throwing my year 2 degree students into Unity with C# - they learnt Java as their first programming language in year 1 - and they're doing fine
my year 4 students last year created some nice games (in teams) - most of them switched from UnityScript (we only started with Unity for the first time, and most tutorials we found were in UnityScript) to C# for their larger second project - see the games from the 2 teams here (some of my students were visiting from a French university ...) http://www.saintgermes.com/
answered Feb 06 '11 at 11:23 PM
I think C# is a good choice.I don't think it's harder than java script. If you know one programming language, it's not even hard to learn it,1 week is ok.
answered Oct 29 '12 at 12:59 AM
I think there are two significant technical reasons to use C#, the first of which is that the UnityScript runtime adds to the size of projects (about a MB). That said, I'm not sure whether UnityScript generates bigger or smaller code binaries in general than C# scripts of equivalent complexity — I suspect this is a wash. The second benefit of using C# is that the Mono documentation (which is written by and for C# programmers) will make more immediate sense to you as a C# programmer.
Personally, I prefer UnityScript because it's significantly more economical to write code in (less boilerplate) and disagree with the "serious coders use C#" assumption. There's nothing to stop you mixing the two (and indeed calling C# code from UnityScript code and vice versa.) But, if you do pick UnityScript there are the two issues I mentioned above.
answered Oct 28 '12 at 08:54 PM