- Home /
Difference between UnityScript and JavaScript?
I am confused.
I just read for the first time that Unity supports this language called UnityScript which is built upon the ECMA standard (?). I've never heard of this language before, and it seems the people at Unity themselves aren't shouting it from the rooftops: in the script reference for example, there is only a single mention of "UnityScript".
Even so, it's mentioned a lot of times on the community support sites and there seem to be special editors for UnityScript, like this one.
Can somebody please explain where the difference between UnityScript and JavaScript lies? Is Unity just sloppily omitting the name of the not so popular language, when they publish "JavaScript" code snippets in the documentation?
I am by the way not a hard core programmer, but I do write both JavaScript and C# code for Unity.
Thank you!
Answer by Eric5h5 · Dec 28, 2011 at 01:22 PM
Unityscript and Javascript are essentially different languages; it's mostly a marketing move to call it "Javascript" in Unity. Some of the differences can be found here and here.
Just to clarify: In Unity UnityScript and JavaScript is exactly the same language, just two different names. There is the well known (web based) JavaScript implementation out there but it's different from Unity's JavaScript (UnityScript).
A lot people that are new to Unity always mix up web based Javascript (JScript, ...) and Unity's Javascript, that's why we try to tell the difference by calling Unity's Javascript UnityScript ;)
UnityScript is totally different from web based Javascript. They just share a similar syntax. UnityScript is compiled to .NET / $$anonymous$$ono exactly like C#.
$$anonymous$$h.. Probably interesting for people who read the article "UnityScript versus JavaScript": The author says about it, "...(it's a helpful article, but in places outdated or wrong)."
Actually the "Head First into Unity with UnityScript" article was also outdated and wrong in places, so I've updated it. Some parts may still need additional updating but I think it's at least mostly correct now.