internal static void InitializePlatformSupportModules() { if (ModuleManager.s_PlatformModulesInitialized) { Console.WriteLine("Platform modules already initialized, skipping"); } else { ModuleManager.InitializeModuleManager(); ModuleManager.RegisterPlatformSupportModules(); foreach (IPlatformSupportModule current in ModuleManager.platformSupportModules) { string[] nativeLibraries = current.NativeLibraries; for (int i = 0; i < nativeLibraries.Length; i++) { string nativeLibrary = nativeLibraries[i]; EditorUtility.LoadPlatformSupportNativeLibrary(nativeLibrary); } string[] assemblyReferencesForUserScripts = current.AssemblyReferencesForUserScripts; for (int j = 0; j < assemblyReferencesForUserScripts.Length; j++) { string text = assemblyReferencesForUserScripts[j]; InternalEditorUtility.RegisterPrecompiledAssembly(Path.GetFileName(text), text); } EditorUtility.LoadPlatformSupportModuleNativeDllInternal(current.TargetName); current.OnLoad(); } ModuleManager.OnActiveBuildTargetChanged(BuildTarget.NoTarget, EditorUserBuildSettings.activeBuildTarget); ModuleManager.s_PlatformModulesInitialized = true; } }