Unity has released the full C# code for the Unity engine and editor through GitHub.
The company has shared the code under a reference-only license so game devs can peek under the hood and better understand the engine's capabilities.
While it's always been possible (and legal) to disassemble the Unity.NET assemblies, not only is it a fairly tricky task, but the disassembled output doesn't offer the original comments and variable names, making it difficult to fully understand the code.
Because of that, Unity has decided to cut out the middle man by publishing the original source code itself, although the company has stressed it isn't releasing the engine as open source -- the reference-only license permits reading, but not modification.
Even so, being able to pore over the Unity engine and editor managed assemblies could be a useful learning exercise, especially for those looking to keep tabs on changes as successive versions release.