Just wonder, why so many people use C# if JS is in fact a lot easier? Does it lack some capabilities?
There was a ton of tests that showed JS is as fast as C#, so that’s not a reason.
95% of assets are C# and hard to communicate from JS.
Why everyone uses C#?
P.S. And another thing is Boo. Is it supported by accident? Who actually uses it? I never heared about anyone using Boo.
And that isn’t even a complete list of feature missing from UnityScript.
And “easier” is debatable. I find C# easier to learn, handle and maintain.
Also, C# is as fast as UnityScript because they are both compiled into CIL. In other word, once in a .DLL, they are the same.
Ya I actually find C# easier since its real C# unlike what unity calls JavaScript. Not to mention proper static typing. Lambdas that don’t sucks. And namespaces.
Thanks for the link. I think I’ll have an interesting reading.
Ease of learning is different for everyone, that’s for sure, but personally I’m diving into Swift right now, which is close to plain English, and I find a lot of similar things with UnityScript.
It’s not everybody that uses C#. Actually it’s still around 20% of JS users left, when we believe the statistics presented in the Unity blog.
Boo is dying. Documentation is not longer supported for version 5. And i guess Unity will do the same to JS in the nearer future. The learning section already comes with learning videos for C# only. Which is a shame in my eyes. That you were able to pick your favourite language was a big plus of Unity. And helped to make it big. Unity needs more languages, not fewer.
You can still write your DLL in whatever CIL compliant language you want, like F# or IronRuby. And Unity said they would keep the Boo/US compiler in, even if the documentation is not updated.
But in the end, supporting and documenting so many language is a huge waste of resource that could be better put in fixing or adding features.
This may be true for niche languages. And BOO is a niche language. I can fully understand that 0.5 % doesn’t justify further support.
But it is not true for JS. At its best times it made more than half of the Unity users. And even the nowadays 20% is quite a big piece of the cake. Drop the support and you will lose customers. Which means less developers because the income sinks, which leads to less resources that you can put in fixing or adding features.
Oh? Which other multi-platform 3D video game engine uses a language similar to US or JS? I’m sure it was a good selling point to attract new consumer, but I’m not sure about the retention. Not that I think Unity would drop US support any time soon anyway.
I totally agree. I’ve seen people making awesome stuff with Playmaker, people making awesome stuff with C# and people making awesome stuff on pure Obj-C in XCode.
US is just what newbies need. When I first downloaded Unity I thought “Okay, I gonna learn C#, everyone says it’s better”.
Then I felt like “Damn, who created this stupid language? JS is a lot better! It’s like plain English comparing to C#!” and started to learn JS.
Now I got some understanding of Unity and slowly moving to C# in my current projects and rewriting previous to C# as well.
Well, if I can use myself as an example, I didn’t know any of the proposed languages when I started working with Unity.
I decided to learn C# instead of the two others. Of course it can sound a bit more complicated, but it was not that complicated. I was a newbie at that point and I learned with youtube, the forums, etc. My project is not completed yet, but I am quite satisfied with what I have come up today.
New people will just learn what needs to be learned in order to play with that engine. Previous customers might have some hard time switching, but I’m pretty sure they will if they want to continue working with Unity.
My 2 cents.
PS: And I agree that when you need to support a lot of languages you don’t create features or fix bugs