Unity has begun the process of sunsetting its C# alternative UnityScript, partially in an effort to free up resources for a number of other projects within the company.
For now, this means that Unity is no longer accepting Asset Store submissions that contain UnityScript code. Next, the company will begin the process of contacting existing Asset Store developers about converting instances of UnityScript in their projects over to C#.
Meanwhile, Unity is working on developing its own UnityScript to C# conversion tool to help developers through the transition. There’s no official date on that tool quite yet, but the company says it hopes to have it out by the time 2017.2 officially ships later this year.
“Deprecating and removing features can feel like the opposite of progress sometimes, but it’s an important part of streamlining Unity,” reads a blog post detailing the decision. “Like a forest fire clearing the way for new growth, it helps clear the way for us to deliver the fixes and features you want as quickly as possible.”
Unity hasn't put an official expiration date on UnityScript support for the time being. Instead, the company says it will monitor its analytical tools and keep an eye on how many developers are still using the tool following the above changes. Once those numbers get low enough, Unity will no longer ship with the UnityScript compiler or recognize .js files.
Currently, the engine maker notes that 14.6 percent of projects in Unity 5.6 house at least one file with UnityScript’s .js extension, meaning that 85.4 percent of those projects contain exclusively C#. All in all, 3.6 percent of all projects owe at least 20 percent of their code to UnityScript, while .8 percent use the language exclusively.
More details on the steps being taken, as well as the company’s reasoning for the decision and a heartfelt apology to that .8 percent, can be found over on the Unity Blog.