Programming Language selection for Unity3D

Started by
9 comments, last by 3Ddreamer 10 years, 9 months ago

Hello, I'm a beginner here and in programming in general as frequent as that is, I have already stablished my project in documentation, the engine im planning on using, a 2.5D game and some other basics.

I chose unity, I've alredy built basic scenes there and it feels confortable so I plan on developing my game with, but Unity only lets you use C# , Javascript and Boo (Which I understand is a variation or dialect of python) , the game I'm planning on developing is sorta like a Castlevania Synphony of the Night / ish sort of game, so I was wondering among those 3 which language works best or is less limited at that.

I kno very basic C++ and Java so it really can go either way considering i still have a lot to learn.

Thanks

Advertisement

All 3 languages (Its actually UnityScript, not Javascript btw, they are related but not identical) have "full"(There are a few restrictions in the free version of Unity but they apply equally to all 3 languages) access to the .Net framework(or mono rather), they all get compiled to MSIL and can all do exactly the same things, Use whichever language you like best.

C# is probably the most popular one as it also has a solid community outside of Unity, UnityScript is only used by Unity and Boo is kinda obscure (It is quite different from Python)

[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
Unity3D doesn't use the same "Javascript" that is used in web development, but its own dialect that is commonly known as "UnityScript". If you already know Java, you should use C# because both languages are very similar, C# has more features than "UnityScript" and because you will probably find more information and tutorials (outside of the Unity Community) about C# than the other two languages together.

Thanks guys .

I would suggest C#. I have used UnityScript primarily before, but I switched to C# a while back and love it. You can get Microsoft Visual C# Express for free as your C# code editing software. It has a lot more features than the editor that comes with Unity (UniSciTE).

C# has some features that aren't available in UnityScript, and I think the language is overall just more robust and powerful. A lot of more advanced users in Unity will be writing their code in C# as well (at least that's what I've noticed), so it'll help you later to be able to read their code efficiently when you're looking for help.

[twitter]Casey_Hardman[/twitter]

If you don't mind challenging yourself I would go for C#, it will payoff in the end. Otherwise I would go with JavaScript, it is a little bit easier but less powerful.

Also most companies who make games in Unity do use C#. So if you would be job searching in future you would be required to know it anyways.

On a related matter, I'm going to have to pick up Unity soon, and will probably be doing that with C#, which I haven't used before.

I have a day job writing C++, and have dabbled in a lot of other languages, mostly functional. I'd like to find the closest equivalents of Stroustrup, Meyers, Sutter, Stepanov and Alexandrescu in the C# world. Any authors, books, other sources you guys would recommend?

On a related matter, I'm going to have to pick up Unity soon, and will probably be doing that with C#, which I haven't used before.

I have a day job writing C++, and have dabbled in a lot of other languages, mostly functional. I'd like to find the closest equivalents of Stroustrup, Meyers, Sutter, Stepanov and Alexandrescu in the C# world. Any authors, books, other sources you guys would recommend?

There isn't the equivalent of Effective C++ or another must own C# title. C# Programming Language is probably the closest equivalent, and Anders Hejlsberg ( language creator ) is one of the authors. It's a good book, but I havent owned a copy since the first or second addition... it's up to the 4th edition right now, so it's technically one iteration behind. The big addition to C# in the 5th revision is async programming, and frankly It doesn't look all that hard to grok.

In your situation, with prior language experiences, the In a Nutshell series is pretty aptly named. The prior recommendation though is probably "the book".

Thanks for the advice Serapth.

A few years back I was considering learning C# for another purpose, asked my C# specialized colleagues for good books, and was advised that there aren't any *really* good ones. I browsed a few at that time and went "meh".

C# books on Amazon seem overrated to the point where the ratings clump up at the high end and fail to establish any kind of pecking order. Generic-looking books pull ratings above 4 stars, and it's almost a challenge to find a book that scores less than 4. On the C++ side, even some very good books sit at 4.

I'm still a big fan of UnityScript, and it has a fair amount of traction among Unity developers. But if you go the UnityScript route, you'll end up needing to know a fair amount about C# anyway - all the class libraries you'll be using are primarily intended for C#.

I'd recommend staying away from Boo. It is an interesting Python adaptation from an academic standpoint, but has very little real-world support, and a surprising number of common Unity tasks are very non-intuitive.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

This topic is closed to new replies.

Advertisement