Unity uploaded source C # code on Github
Rejoice everyone who, at least once, due to a vital need, had to decompile Unity .NET code! Now the code of the C # part of the Unity engine and editor is available for study on Github . All main branches are available, starting from version 2017.1 and ending with fresh 2018.1.0b12.
The code was posted yesterday, the official announcement will take place only on Monday.
Fly in the ointment: the code can be used for reference purposes only . A full license to use can be found here .
However, this did not stop the comrade who had already drawn up a pull request with a performance fix .
It’s far from a secret that large studios (for example, authors of Cities: Skylines) have access to the source code (both C # and C ++) for quite some time - for this you need to purchase a separate license . Previously, this was critical if you needed to modify the standard rendering process (starting from version 2018, you can change everything for yourself using SRP and C # code).
For this initiative, we thank Aras Pranckevičius , who has been preparing the code for publication over the past few weeks.
The Unity engine becomes more modular and undergoes a large-scale update: a package manager appeared in it, a C # task system (allowing you to write secure multi-threaded code) appeared, the ECS system was redesigned(Entity Component System) taking into account low-level optimizations, and by version 2018.3 (sic!) Nested Prefabs will finally appear .
Unity's deep move towards data-oriented design is under the watchful eye of Mike Acton , a former head of engine development at Insomniac Games, who joined the company last fall with another Insomniac teammate, whose approach to gaming optimization became widely known after the talk at CppCon 2014 "Data-Oriented Design and C ++" ).
An interesting recent interview with CTO Unity, the head of R&D and Acton can be read in English at. Apparently, publishing the source code is another important step for the company's new course.