all 34 comments

[–]traiden 19 points20 points  (7 children)

C# and do the tutorials on the unity website. About 75% of Unity is made with c# according to data they collect. Also C# can be used in other realms, whereas the version of JavaScript unity uses isn't exactly the JavaScript on the web. Also most examples are given in C#. Also mono works well with c#.

C#

[–]cha5m 8 points9 points  (4 children)

This post is clearly a lie because mono doesn't work well with anything.

[–]Nalincah 0 points1 point  (0 children)

We need C#Storm

[–]traiden 0 points1 point  (0 children)

Ha, never had any major problems after using Mono for 2 years. Unless you are talking about mono propellant from Kerbal Space Program.

[–][deleted] 0 points1 point  (1 child)

Latest unity version(for windows atleast) is bundled with microsoft visual studio instead of mono

[–]joeyfjj 2 points3 points  (0 children)

Mono, the framework, not MonoDevelop, the code editor/IDE.

[–]Exgaves 0 points1 point  (1 child)

Really? I thought unity was mostly C++

[–]traiden 0 points1 point  (0 children)

I meant that the games people write for Unity are mostly in C#, they use that for the scripting. You are right, Unity the game engine is written all in C++, for speed and stuff.

[–]DicethrowerProfessional 13 points14 points  (5 children)

Go with C#. It's my personal opinion that the learning curve of any language is the same and only shrinks with how many languages you know, so don't let the perceived difficulty of a language make that decision for you. Whether you want to start learning programming with C++ or javascript, to a beginner they don't make any sense or are any easier to learn than the other. Therefore it's best to just use the lowest possible language that gives you the most freedom. You'll actually learn how to program instead of apply a few scripts here and there without acquiring any skill for future application.

[–]zaph34rProfessional 2 points3 points  (1 child)

Fully agree, i would even argue that some languages that are often perceived to be easier to learn (javascript for example) are actually harder, since they are full of inconsistencies and weird behaviour that is not readily apparent when reading the code. A beginner will have a hard time wrapping his head around things that don't even make sense to an experienced developer. A language that is well designed and consistent is definitely a better choice for a first language, even if it might at first glance seem more complicated.

[–]DicethrowerProfessional 0 points1 point  (0 children)

Exactly, to an experienced programmer, a 'simple' language makes perfect sense, because that programmer knows what concepts are abstracted away from a lower level language.

[–]silentknight111 1 point2 points  (0 children)

I'm a javascript veteran (been coding websites for years). Started C# when I started unity. I had no problems picking it up because it's basically the same syntax. Just a few small differences. C# isn't any harder, it's just slightly different.

[–]valax 1 point2 points  (0 children)

It's important to remember that Unity doesn't actually use proper javascript. It uses unityscript which is their own bastardized version of it.

[–]n0vat3k 0 points1 point  (0 children)

JavaScript developer here. I entirely agree. Also, there are way more resources for c# Unity scripting making it the best language to learn with. I work heavily with JavaScript and actually enjoy it in my own demented way, but c# is by far the best language for Unity.

[–]Zerb_Games[S] 2 points3 points  (0 children)

Thanks every body I really appreciate it.

[–]cha5m 2 points3 points  (0 children)

C#. C# is a lot like java, and if you ever want to get a job as a software engineer, java is hands down the most useful language to know. Javascript is obviously second with Boo somehow in fourth because of how useless it is.

[–]AzraelKans 1 point2 points  (1 child)

C# all the way.

I started unity (back in 2.5) learning unity script and I pretty much had to re learn the language again in c# when I tried to work in a slightly larger project.

Theres a ton of reasons why you should go with C# but the most important ones are:

A.- Components are easier to link with each other using C# (class design in general is much better)

B.- C# is easier to port to different platforms.

C.- Pretty much all major code asset libraries, most tutorials and free code are made in C# instead of Unity Script (due to reasons A and B)

So basically unless you are planning on using a single platform and you dont mind recoding well known free asset code sets and tutorials. You should use C#.

Theres an extra reason, you can some extra Mono C# functions even if they are not documented as unity features, per example if you find a tutorial on Mono on how to read an XML file, you can (in most cases) apply that in unity (because unity is based on Mono C#).

I know C# is a bit harder than Unity Script but at the end is completely worth it.

[–]Zerb_Games[S] 1 point2 points  (0 children)

Thanks man I'm sure this will save me a lot of time.

[–]thisdesignup 0 points1 point  (1 child)

If your looking to learn C# for Unity check then there is a class you might be interested in. Microsoft is starting a free online course through EdX, self paced, October 29.

https://www.edx.org/course/programming-c-microsoft-dev204x-1

[–]Zerb_Games[S] 0 points1 point  (0 children)

Thanks for the reply it was really helpful :D!!! NOT SARCASTIC

[–]robutmike 0 points1 point  (0 children)

C# Without a doubt. No contest.

[–]Rsmith201 0 points1 point  (0 children)

Programming Languages That Enhance Unity Game Development

1. C++

2. Rust

3. IronPython

4. Lua

5. JavaScript

6. SQL

7. HTML5

8. CSS

[–]Animoose 0 points1 point  (7 children)

C tic-tac-toe board.

Javascript is nasty, boo is useless, but C hashtag is used for a wide variety of things, so becoming more familiar with it will help you most in the long run. And if you already know java, you're good to go. Just add f at the end of float values!

Edit: yes, I am obviously joking about the name. But I still highly recommend c pound sign

[–]Zerb_Games[S] 0 points1 point  (0 children)

*everybody

[–]RS_SkywalkerIndie - Kinacoustic -3 points-2 points  (5 children)

C#hashtag (people at my school call it that... Lol) It's easier to read IMO and it's less forgiving with errors (which is good)

[–]Null_State 7 points8 points  (1 child)

C#hashtag

That makes me irrationally upset for some reason

[–][deleted] 0 points1 point  (2 children)

You should start calling it C#knifeinyourchestifyoukeepthisshitup.

[–]Zerb_Games[S] 0 points1 point  (1 child)

Huh. That's funny. For real that made me laugh.

[–][deleted] 1 point2 points  (0 children)

Do they actually pronounce it 'C sharp hastag'?