Skip to content

Compilation Editor Window

Roman Fadeev edited this page Jun 1, 2020 · 1 revision

Motivation

Sometimes it's necessary to recompile Unity scripts for testing or debugging purposes. Unfortunatelly, there is no built-in Unity editor feature to do so. Normally, developer can modify some C# file to trigger recompilation. Alternative option is manipulating scripting define symbols as proposed on Unity answers. Luckily, there is Unity editor API to trigger scripts recompilation. Compilation editor window calls it on button click to recompile all scripts in the project (this includes scripts from all assemblies like ones coming from Unity Package Manager).

How to use

Open editor window via Window->Pump Editor->Compilation. Run scripts compilation via "Request Script Compilation" button.

Additional information

While Unity 2019.3 has public API to trigger scripts recompilation UnityEditor.Compilation.CompilationPipeline.RequestScriptCompilation, for older Unity versions editor window calls UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface.DirtyAllScripts via reflection since RequestScriptCompilation method in Unity 2019.3 calls DirtyAllScripts internally. For Unity versions older than 2017.1 calling DirtyAllScripts is not tested since Unity C# reference is absent for that versions.

Clone this wiki locally