UnityCsReference README

The project's README from github.com/Unity-Technologies/UnityCsReference. As one markdown file: README.md.

Unity 6000.7.0a6 C# reference source code

The C# part of the Unity engine and editor source code. May be used for reference purposes only.

For terms of use, see https://unity3d.com/legal/licenses/Unity_Reference_Only_License

The repository includes third-party code subject to third-party notices.

The terms of use do not permit you to modify or redistribute the C# code (in either source or binary form). If you want to modify Unity's source code (C# and C++), contact Unity sales for a commercial source code license: https://store.unity.com/contact?type=source-code

We do not take pull requests at this time (sorry). But if you find something that looks like a bug, we'd appreciate it if you'd file it using the Unity Bug Reporter. For more information, see: https://support.unity.com/hc/en-us/articles/206336985-How-do-I-submit-a-bug-report

Unless expressly provided otherwise, the software under this license is made available strictly on an "AS IS" BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the license for details on these and other terms and conditions.

The C# solution is in Projects/CSharp/UnityReferenceSource.sln

The folder and file layout of the reference source matches the Unity source tree layout; it can and will change between different Unity versions.

UnityCsReference (Unity-Technologies/UnityCsReference)

Searching Database…

What is this?The C# portion of the Unity game engine and editor source code, published by Unity Technologies for developers to read. It is a reference copy of engine internals, not a product you install or run.
Is this something I can build with, or just code to read?Just code to read. It is a reference-only source tree — there is nothing to build, install or ship; the value is seeing how the engine and editor actually work inside.
How do I browse it, then?Clone the repository and open the C# solution at Projects/CSharp/UnityReferenceSource.sln in any C# IDE. The folder layout mirrors Unity's internal source tree, which makes it easy to navigate.
If I spot a bug in the code, can I just submit a fix?No — pull requests are not accepted. Genuine bugs should be filed through the Unity Bug Reporter instead.
Am I allowed to copy code from it into my own project?No. The terms of use allow reference reading only and forbid modifying or redistributing the C# code in source or binary form; changing Unity's source requires a commercial source code license from Unity sales.
Is the whole engine written in C#?No — this repository covers only the C# part. Unity's native core is C++, which is not published here; full source access is a commercial matter handled by Unity sales.
Is everything in the repo Unity's own code?No. The repository also includes third-party code, which is subject to separate third-party notices.
Why publish the source at all if it can't be modified?So developers can study how the Unity engine and editor actually work. Usage is deliberately restricted to reference, with stricter terms than an open-source project.
Size
99 MB
Stars
13K
Updated
CommitOct 15
Age
8y
Commits · 90 Days