Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

Update NLog 4.4.7 (from 4.4.1)
Change Framework 4.6 from 4.5

* caveat: MdbWriter is not fully working at the moment.

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build status


Unity3D Incremental C# Compiler using Roslyn.

  • You can get faster compilation speed. Because it works as an incremental compiler
  • You can use C# 5 and 6 features.

This project is at an early development stage. And still now it can support only windows platform.


Unzip a release zip file to your unity project top-most directory. (Unblocking zip file before decompressing zip file might be required to avoid TypeLoadException of Unity-Mono.)

  • When Unity 4.x, use
  • When Unity 5.x, use

A release zip has a plugin dll which should be put at Editor folder and a few compiler related files which should be put at Compiler folder. Following before and after screenshot will helps for understanding install location.


While an incremental compiler build your scripts, it saves log files to project/Temp directory. With these log files, you can see how it works.



You can configure how this compiler work by settings window. Click "Assets/Open C# Compiler Settings..." in UnityEditor.


Not only settings but you can also check detailed log and information.


Also you can manually modify a configure file which is located at project/Compiler/IncrementalCompiler.xml

More information


  • When incremental compiler is installed, Unity claims something wrong like:
TypeLoadException: Could not load type 'UnityEditor.Modules.CSharpCompiler' from assembly 'UnityEditor, Version=, Culture=neutral, PublicKeyToken=null'.
UnityEditor.Scripting.ScriptCompilers.CreateCompilerInstance (MonoIsland island, Boolean buildingForEditor, BuildTarget targetPlatform, Boolean runUpdater) (at C:/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilers.cs:93)

This problem is usually caused by windows file blocking system. You need to unblock zip file before uncompressing this file.

  • An integration part between unity3d and incremental compiler is based on alexzzzz's works.
  • Mono MDB writer for roslyn is based on DavidKarlas's work.