-
Notifications
You must be signed in to change notification settings - Fork 6
Compilation Editor Window
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).
Open editor window via Window->Pump Editor->Compilation. Run scripts compilation via "Request Script Compilation" button.
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.