Unity uploaded source C # code on Github

image

Rejoice, everyone who had to decompile Unity .NET code at least once due to a vital need! 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 . The full license to use can be viewed here .

However, this did not stop the comrade who had already drawn up a pull request with a performance fix .

It is 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 it is necessary to purchase a separate license . Previously, it was critically necessary 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 has appeared in it, a C # task system (allowing you to write secure multi-threaded code) has appeared, the ECS (Entity Component System) system has been redesigned taking into account low-level optimizations, and by version 2018.3 finally will appear (sic!) Nested Prefabs .

Unity's deep move towards data-oriented design is under the watchful eye of Mike Acton , the former head of engine development at Insomniac Games, who joined the company last fall along with another Insomniac ally, whose approach to gaming optimization has become widely known after a presentation 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 here . Apparently, publishing the source code is another important step for the company's new course.