public static async UniTask InitializeAsync()
        {
            if (Engine.Initialized)
            {
                return;
            }

            var configProvider = new ProjectConfigurationProvider();
            var behaviour      = new EditorBehaviour();
            var services       = new List <IEngineService>();

            var providersManager = new ResourceProviderManager(configProvider.GetConfiguration <ResourceProviderConfiguration>());

            services.Add(providersManager);

            var localizationManager = new LocalizationManager(configProvider.GetConfiguration <LocalizationConfiguration>(), providersManager);

            services.Add(localizationManager);

            var scriptsManager = new ScriptManager(configProvider.GetConfiguration <ScriptsConfiguration>(), providersManager, localizationManager);

            services.Add(scriptsManager);

            var varsManager = new CustomVariableManager(configProvider.GetConfiguration <CustomVariablesConfiguration>());

            services.Add(varsManager);

            await Engine.InitializeAsync(configProvider, behaviour, services);
        }
        public static async Task InitializeAsync()
        {
            if (Engine.IsInitialized)
            {
                return;
            }

            var engineConfig = Configuration.LoadOrDefault <EngineConfiguration>();
            var behaviour    = new EditorBehaviour();
            var services     = new List <IEngineService>();

            var providersManager = new ResourceProviderManager(Configuration.LoadOrDefault <ResourceProviderConfiguration>());

            services.Add(providersManager);

            var localizationManager = new LocalizationManager(Configuration.LoadOrDefault <LocalizationConfiguration>(), providersManager);

            services.Add(localizationManager);

            var scriptsManager = new ScriptManager(Configuration.LoadOrDefault <ScriptsConfiguration>(), providersManager, localizationManager);

            services.Add(scriptsManager);

            var varsManager = new CustomVariableManager(Configuration.LoadOrDefault <CustomVariablesConfiguration>());

            services.Add(varsManager);

            await Engine.InitializeAsync(engineConfig, behaviour, services);
        }