I always kind of assumed that JS was the ideal language for me to use because UnityTeam had developed it specifically for Unity, and I assumed that Unity Team used UnityScript for that reason. And with that, UnityScript was the most developed and specifically tailored language for unity…
But now with MonoDevelop being included and seeing that MonoDevelop only fully support C# this made me think, is C# what Unity Team themselves uses? And is C# the most integrated and thorough language? And is JS just like this side auxiliary language UnityTeam developed for nubs?
C# is a global standard language, UnityScript is a unity specific one. As such its clear that C# is definitely more advanced and will always be (and yeah its what the editors are written in)
But UnityScript can be simpler to do some stuff as its “do not support the full stuff” leads to optimization and simplifications C# does not have.
Even standalone games can be divided into the core server part and the graphic centered client part. C# wins the server core part hands down. Unity3D is mainly for the graphic client part. So if you want both, you need C#. If however your game is a simple one with a small core but graphic heavy, you may have a choice between JS and C#.
C# is always a ‘better’ choice, as usually no one knows how far your game design will go. Say, if in the middle of the development you find your game is with a true value that you want to further develop it into a complicated or large scale one, you may need to switch to C#.