/// <inheritdoc />
        public IEnumerator Load()
        {
            CompiledPlugins.Clear();

            Debug.Log("Starting plugins compilation...");

            var pluginCompiler = new PluginCompiler();

            if (!Directory.Exists("AddonManager/AddonsCache"))
            {
                Directory.CreateDirectory("AddonManager/AddonsCache");
            }

            // TODO: Cleanup duplicated code

            // Load local plugins (but ignore if there is Debug version of it)
            yield return(LoadLocalPlugins(pluginCompiler));

            // Load workshop plugins (if client)
            if (!LoaderManager.IsDedicatedServer)
            {
                yield return(LoadWorkshopPlugins(pluginCompiler));
            }

            // Dispose the compiler
            pluginCompiler.Dispose();
        }