Home

Awesome

Build status

Unity3D.IncrementalCompiler

Unity3D Incremental C# Compiler using Roslyn.

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

Setup

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.)

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.

InstallScreenshot

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.

LogFiles

Configuration

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

SettingsMenu

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

SettingsWindow

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

More information

FAQ

TypeLoadException: Could not load type 'UnityEditor.Modules.CSharpCompiler' from assembly 'UnityEditor, Version=0.0.0.0, 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.

Related works