Sign in to follow this  
RafaCabris

Programming Language selection for Unity3D

Recommended Posts

RafaCabris    103

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

Share this post


Link to post
Share on other sites
SimonForsman    7642

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)

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
CaseyHardman    2765

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
Serapth    6671

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".

Edited by Serapth

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
swiftcoder    18432

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.

Share this post


Link to post
Share on other sites
3Ddreamer    3826

Hi,

 

 

Focus mainly on Visual C#. UnityScript is tempting and hard to avoid because of the developer friendly utilities in the game engine for it.  You should look on YouTube for inspiration, search Unity Game 2.5 Level.  There are tons of art assets, especially easier if you follow the recommended Unity methods of game development.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this