- PVSM.RU - https://www.pvsm.ru -

Unity выложила исходный C#-код на Github

image

Возрадуйтесь все, кому хоть раз в силу жизненной необходимости приходилось декомпилировать .NET-код Unity! Теперь код C#-части движка и редактора Unity доступен для изучения на Github [1]. Доступны все основные ветки, начиная с версии 2017.1 и заканчивая свежей 2018.1.0b12.

Код был выложен вчера, официальный анонс состоится только в понедельник.

Ложка дегтя: код может быть использован только в справочных целях. Полную лицензию на использование можно посмотреть здесь [2].

Впрочем, это ничуть не остановило товарища, уже оформившего пулл-реквест с фиксом производительности [3].

Далеко не секрет, что крупные студии (например, авторы Cities: Skylines) имеют доступ к исходному коду (и C#, и C++) уже довольно давно — для этого необходимо приобретать отдельную лицензию [4]. Раньше это было критически необходимым, если вам требовалось модифицировать стандартный процесс рендеринга (начиная с версии 2018, можно будет менять все под себя при помощи SRP [5] и кода на C#).

За данную инициативу дружно благодарим Aras Pranckevičius [6], который занимался подготовкой кода к публикации последние несколько недель.

Движок Unity становится более модульным и проходит масштабное обновление: в нем появился пакетный менеджер, появилась система задач C# (позволяющая писать безопасный многопоточный код), была переработана система ECS (Entity Component System) с учетом низкоуровневых оптимизаций, а к версии 2018.3 наконец-то появятся (sic!) Nested Prefabs.

Глубокий уход Unity в сторону data-oriented design [7] происходит под чутким надзором Майка Эктона (Mike Acton, бывший глава разработки движков в Insomniac Games), присоединившегося к компании прошлой осенью [8] вместе с другим соратником по Insomniac, чей подход к игровой оптимизации приобрел широкую известность после доклада на CppCon 2014 «Data-Oriented Design and C++» [9]).

Интересное недавнее интервью CTO Unity, главой R&D и Эктоном можно прочитать на английском по ссылке [10]. По всей видимости, публикация исходного кода — это еще один из важный шагов для нового курса компании.

Автор: Владимир Маслов

Источник [11]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/unity3d/276129

Ссылки в тексте:

[1] доступен для изучения на Github: https://github.com/Unity-Technologies/UnityCsReference

[2] здесь: https://unity3d.com/ru/legal/licenses/Unity_Reference_Only_License

[3] оформившего пулл-реквест с фиксом производительности: https://github.com/Unity-Technologies/UnityCsReference/pull/1

[4] приобретать отдельную лицензию: https://store.unity.com/contact?type=source-code

[5] при помощи SRP: https://blogs.unity3d.com/2018/01/31/srp-overview/

[6] Aras Pranckevičius: https://twitter.com/aras_p

[7] Глубокий уход Unity в сторону data-oriented design: https://forum.unity.com/threads/ecs-or-why-should-i-bother-making-my-game-efficient.519100/

[8] к компании прошлой осенью: https://blogs.unity3d.com/ru/2017/11/08/were-joining-unity-to-help-democratize-data-oriented-programming/

[9] «Data-Oriented Design and C++»: https://www.youtube.com/watch?v=rX0ItVEVjHc

[10] по ссылке: https://www.mcvuk.com/development/exclusive-unity-takes-a-principled-step-into-triple-a-performance-at-gdc

[11] Источник: https://habrahabr.ru/post/351978/?utm_source=habrahabr&utm_medium=rss&utm_campaign=351978