public void Start() // Must happen after ResourceLedger is initialized (in Awake) { if (Instance == null) { Instance = this; } SetupApplication(); // Always do this first DontDestroyOnLoad(gameObject); // Do not destroy this game object when loading a new scene ModuleManager.RegisterModuleAssemblyName(Assembly.GetExecutingAssembly().GetName().Name, "Core Engine"); Logger.RegisterLogger(new LoggerImpl()); ApiProvider.RegisterApiProvider(new ApiProviderImpl()); Logger.RegisterLogger(new ToastLogger()); // Must happen after ApiProvider is registered ModuleLoader.PreloadApi(); ModuleLoader.LoadModules(ModulesSourcePath, BaseModuleTargetPath); RerouteConsoleOutput(); }