Thursday, March 29th, 2018 Posted by Jim Thacker

Unity Technologies releases Unity source code on GitHub

Unity Technologies has released the C# source code of its Unity game engine and editor on GitHub.

The move does not make Unity open-source: instead, the firm intends the code base to be used as a reference resource for game devs, and is not permitting users to modify the code, or accepting pull requests.

Inspect Unity’s C# source, but don’t modify it
Judging by Unity’s blog post, the move has been taken to stop users disassembling Unity’s .NET assemblies (which is permitted by its licence) and creating their own GitHub repos (which, strictly speaking, is not).

Although the new repository provides devs with a convenient way to inspect the Unity source, complete with all of the original comments, it doesn’t make the code itself open-source.

While Unity’s EULA permits users to read the code, it doesn’t permit them to modify it.

Nor is the firm taking pull requests: if you spot a bug, the only thing you can do about it is to report it via the standard bug reporter, not try to fix the issue yourself.

Calls for access to the C++ source and for pull requests
The news has received a mixed response from the Unity user community.

While most welcome the move as far as it goes, many have pointed out that Unity’s C++ source code remains completely closed, unlike that of rival engines Unreal Engine, CryEngine, Lumberyard and Godot.

While those engines are either completely free, or charge a share of royalties for source code access, they do also accept user pull requests: something that has generated a lot of flak on Unity’s blog post.

In the comments thread, Unity Technologies says that it has noted that there “seems to be a lot of interest in PRs” and that it “may eventually figure something out” in future.

Read Unity Technologies’ blog post announcing its decision to release the Unity C# source

Inspect the Unity C# source code in the firm’s GitHub repository