Unity Deprecates UnityScript: What to do?

Recently Unity announced that it would be deprecating its UnityScript language, a coding language similar to Javascript. When I started using Unity back in 2015, an announcement like this would have seen absurd. However now, this all but makes sense to me by the article and by the development experiences I have had. I never used UnityScript, having programmed Unity games in C# my entire time. If you want to see why they are depreciating UnityScript, check out the article. I am writing on what I think you UnityScript devs should do now.


There are ultimately three choices you have as a UnityScript dev. Move to another engine, use Unity with C#, or give up. Since I don’t want anyone to give up that leaves us with two.


The first is to move to another engine. There are several other engines out there that use Javascript, and in general, I think it’s advantageous to learn more than one game engine so you are versatile. However, there are two problems with this. First of all, Unityscript is not exactly Javascript. Even in Unity’s article, they call Unityscript “JavaScript-like”. If you decide on another Javascript game engine, you will still have to learn a fair amount about the integration into the game engine itself. It may be easier than starting from scratch but still requires work. Also, especially for hobbyist devs, learning another game engine doesn’t seem all that worth it. If you’re just making games for the fun of making games, then if Unity is working for you why would you want to change? That is why the other viable option is to continue using Unity, but coding in C#.


C# is Unity’s other applicable programming language. Unlike UnityScript, the C# used in Unity is more true to the actual C# language. This is a big strength because it allows for developers to not only learn a solid language like C# but be able to use it across other platforms and applications. If you transition from UnityScript to C#, it will take time but I believe it’s easier than switching engines. Unity has a lot of functionality in the engine itself, from its components to its animation systems to the debugging. Even if you switch languages, these systems remain the same and you already understand them. The only thing you need to relearn is the programming language itself.


For all the UnityScript developers, I would recommend sticking with Unity and transitioning to C#. It will take less time and you have much less to learn as opposed to learning a new engine.


(Thanks for reading! I am a not an expert on game development yet, and am always open to feedback. If you have any criticisms or suggestions for my articles, please let me know!)