Read the FAQ; discussion questions involving opinion should be posted elsewhere, like on the forums.
Answer by matt smitih
Feb 06, 2011 at 11:23 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/
That is an awesome response, thank you. But i have one more question, ive heard that programming in boo is exactly the same as c# just with less typing is that true?
Answer by podperson
Oct 28, 2012 at 08:54 PM
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.
Answer by FrostHDD
Oct 29, 2012 at 12:18 AM
Answer by Yanger_xy
Oct 29, 2012 at 12:59 AM
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
Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.
The best place to ask and answer questions about development with Unity.
To help users navigate the site we have posted a site navigation guide.
If you are a new user to Unity Answers, check out our FAQ for more information.
Make sure to check out our Knowledge Base for commonly asked Unity questions.
If you are a moderator, see our Moderator Guidelines page.
We are making improvements to UA, see the list of changes.
Answers and Comments
4 People are following this question.
Setting Scroll View Width GUILayout
Items with Statistics(such as attack damage) that actually effect the character?
How to add a peaking system?
GetComponentInChildren(Renderer).active wont work?