public virtual void OnCompilationRequest(RequestCompilationOptions options) { CompilationOptions compilationOptions = EditorApplication.isPlaying ? CompilationOptions.LiveEditing : CompilationOptions.Default; if (TracingEnabled) { compilationOptions |= CompilationOptions.Tracing; } // Register m_PluginRepository.RegisterPlugins(compilationOptions); VSGraphModel vsGraphModel = Store.GetState().CurrentGraphModel as VSGraphModel; if (vsGraphModel == null || vsGraphModel.Stencil == null) { return; } ITranslator translator = vsGraphModel.Stencil.CreateTranslator(); if (!translator.SupportsCompilation()) { return; } if (options == RequestCompilationOptions.SaveGraph) { AssetDatabase.SaveAssets(); } CompilationResult r = vsGraphModel.Compile(AssemblyType.None, translator, compilationOptions, m_PluginRepository.GetPluginHandlers()); if (Store?.GetState()?.CompilationResultModel is CompilationResultModel compilationResultModel) // TODO: could have disappeared during the await { compilationResultModel.lastResult = r; OnCompilationDone(vsGraphModel, compilationOptions, r); } }