I am a complete noob at programming and I would like to know what kind of languages are compatible with Unity and is easy to learn.
Thanks.
Unity supports three languages. C#, UnityScript (also known as JavaScript) and Boo.
All of the tutorials are written in C#, meaning its the first language I would start with.
I would go with C# too. There are UnityScript tutorials, but far more C#. And C# is actually C#. So you can use other non-unity tutorials that will help with basics. UnityScript is a bastardized version of JavaScript, not actually JavaScript. So you can’t be assured that JavaScript will work 100% within Unity. May only be minor differences but their are differences.
C#, unquestionably. As Shawn67 says, C# is the language Unity supports that is already a bonafide programming language that exists outside this community. MSDN is an incredible resource. If you go pro and ever have to collaborate with a programmer who has not used Unity before (maybe the guy running your server side code?), they will know C# and not UnityScript (“Javascript”).
Even within Unity land, C# is several times more popular, which is why the tutorials and sample code these days all use C#.
The devs C# is popular among tend to be the more experienced professionals, as well. UnityScript tends to be learned by people who have come from Flash animation or web dev, and are under the impression that it’s similar to ActionScript or web Javascript, and will therefore be easy to transition to. If someone’s been programming for 5 or 10 years or more, they will almost invariably choose C#.
I also find the syntax of C# much cleaner and clearer than JS. Personally, it bugs me that they called the language Javascript (for marketing purposes) when it’s clearly not Javascript… so in addition to all the really good reasons listed above, there are also petty reasons. ![]()
On sort of a related note, it bugs me that your source code files in Unity are referred to as “scripts” at all.
Outside the world of Unity, “scripting” in game development generally refers to something like Lua or Python where you can, say, tweak AI settings without having to rebuild your game. C# coding in Unity is “real” programming and shouldn’t be put in the same category as a true scripting language. At worst, it can be confusing when reading a chapter in an AI book titled “To Script, or Not to Script, That Is the Question”.
c#