/// <summary> /// Sets the plugins. /// </summary> /// <param name="files">Files.</param> /// <param name="editorSettings">Editor settings.</param> /// <param name="settings">Settings.</param> static void SetPlugins(string[] files, Dictionary <string, string> editorSettings, Dictionary <BuildTarget, Dictionary <string, string> > settings) { if (files == null) { return; } foreach (string item in files) { PluginImporter pluginImporter = PluginImporter.GetAtPath(item) as PluginImporter; if (pluginImporter != null) { pluginImporter.SetCompatibleWithAnyPlatform(false); pluginImporter.SetCompatibleWithEditor(false); if (editorSettings != null) { pluginImporter.SetCompatibleWithEditor(true); foreach (KeyValuePair <string, string> pair in editorSettings) { pluginImporter.SetEditorData(pair.Key, pair.Value); } } if (settings != null) { foreach (KeyValuePair <BuildTarget, Dictionary <string, string> > settingPair in settings) { pluginImporter.SetCompatibleWithPlatform(settingPair.Key, true); if (settingPair.Value != null) { foreach (KeyValuePair <string, string> pair in settingPair.Value) { pluginImporter.SetPlatformData(settingPair.Key, pair.Key, pair.Value); } } } } else { foreach (BuildTarget target in Enum.GetValues(typeof(BuildTarget))) { pluginImporter.SetCompatibleWithPlatform(target, false); } } pluginImporter.SaveAndReimport(); Debug.Log("SetPluginImportSettings Success :" + item); } else { Debug.LogWarning("SetPluginImportSettings Faild :" + item); } } }
static bool ResetPluginSettings(PluginImporter plugin, string CPU, string OS) { bool didUpdate = false; if (plugin.GetCompatibleWithAnyPlatform() != false) { plugin.SetCompatibleWithAnyPlatform(false); didUpdate = true; } if (plugin.GetCompatibleWithEditor() != true) { plugin.SetCompatibleWithEditor(true); didUpdate = true; } if (plugin.GetEditorData("CPU") != CPU) { plugin.SetEditorData("CPU", CPU); didUpdate = true; } if (plugin.GetEditorData("OS") != OS) { plugin.SetEditorData("OS", OS); didUpdate = true; } return(didUpdate); }
public static void ConfigurePluginPlatforms() { PluginImporter[] importers = PluginImporter.GetAllImporters(); PluginImporter iOSPlugin = null; PluginImporter androidPlugin = null; foreach (PluginImporter importer in importers) { if (importer.assetPath.Contains(AudienceNetworkFramework)) { iOSPlugin = importer; Debug.Log("Audience Network iOS plugin found at " + importer.assetPath + "."); } else if (importer.assetPath.Contains(AudienceNetworkAAR)) { androidPlugin = importer; Debug.Log("Audience Network Android plugin found at " + importer.assetPath + "."); } } if (iOSPlugin != null) { iOSPlugin.SetCompatibleWithAnyPlatform(false); iOSPlugin.SetCompatibleWithEditor(false); iOSPlugin.SetCompatibleWithPlatform(BuildTarget.iOS, true); iOSPlugin.SetPlatformData(BuildTarget.iOS, FrameworkDependenciesKey, RequiredFrameworks); iOSPlugin.SaveAndReimport(); } if (androidPlugin != null) { androidPlugin.SetCompatibleWithAnyPlatform(false); androidPlugin.SetCompatibleWithEditor(false); androidPlugin.SetCompatibleWithPlatform(BuildTarget.Android, true); androidPlugin.SaveAndReimport(); } }
public override void PostBuild(NativePlugin plugin, NativeBuildOptions buildOptions) { base.PostBuild(plugin, buildOptions); string assetFile = CombinePath( AssetDatabase.GetAssetPath(plugin.pluginBinaryFolder), "Linux", buildOptions.Architecture.ToString(), string.Format("lib{0}.so", plugin.Name)); PluginImporter pluginImporter = PluginImporter.GetAtPath((assetFile)) as PluginImporter; if (pluginImporter != null) { SetPluginBaseInfo(plugin, buildOptions, pluginImporter); pluginImporter.SetCompatibleWithAnyPlatform(false); pluginImporter.SetCompatibleWithEditor(true); pluginImporter.SetEditorData("OS", "Linux"); pluginImporter.SetEditorData("CPU", buildOptions.Architecture.ToString()); if (buildOptions.Architecture == Architecture.x86) { pluginImporter.SetCompatibleWithPlatform(BuildTarget.StandaloneLinux, true); } else { pluginImporter.SetCompatibleWithPlatform(BuildTarget.StandaloneLinux64, true); } pluginImporter.SaveAndReimport(); } }
static void OnPostprocessAllAssets ( string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths ) { #if false //UNITY_5_0 foreach ( string asset in importedAssets ) { if ( asset.ToLower() == "assets/plugins/x86/oculusplugin.dll" || asset.ToLower() == "assets/plugins/x86_64/oculusplugin.dll" ) { Debug.Log( "[OVRImportProcessor] Updating plugin compatibility: " + asset ); PluginImporter pluginImporter = PluginImporter.GetAtPath( asset ) as PluginImporter; if ( pluginImporter != null ) { bool x86_64 = asset.Contains( "x86_64" ); pluginImporter.SetCompatibleWithEditor( true ); pluginImporter.SetCompatibleWithAnyPlatform( false ); pluginImporter.SetEditorData( "OS", "Windows" ); if ( x86_64 ) { pluginImporter.SetCompatibleWithPlatform( BuildTarget.StandaloneWindows, false ); pluginImporter.SetCompatibleWithPlatform( BuildTarget.StandaloneWindows64, true ); } else { pluginImporter.SetCompatibleWithPlatform( BuildTarget.StandaloneWindows64, false ); pluginImporter.SetCompatibleWithPlatform( BuildTarget.StandaloneWindows, true ); } } AssetDatabase.WriteImportSettingsIfDirty( asset ); } } #endif }
public static void EnforcePluginPlatformSettings(PluginPlatform platform) { string path = GetPlatformPluginPath(platform); if (!Directory.Exists(path) && !File.Exists(path)) { path += PluginDisabledSuffix; } if ((Directory.Exists(path)) || (File.Exists(path))) { string basePath = GetCurrentProjectPath(); string relPath = path.Substring(basePath.Length + 1); PluginImporter pi = PluginImporter.GetAtPath(relPath) as PluginImporter; if (pi == null) { return; } // Disable support for all platforms, then conditionally enable desired support below pi.SetCompatibleWithEditor(false); pi.SetCompatibleWithAnyPlatform(false); pi.SetCompatibleWithPlatform(BuildTarget.Android, false); pi.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows, false); pi.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows64, false); pi.SetCompatibleWithPlatform(BuildTarget.StandaloneLinux, false); pi.SetCompatibleWithPlatform(BuildTarget.StandaloneLinux64, false); pi.SetCompatibleWithPlatform(BuildTarget.StandaloneLinuxUniversal, false); #if UNITY_2017_3_OR_NEWER pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSX, false); #else pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXUniversal, false); pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXIntel, false); pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXIntel64, false); #endif switch (platform) { case PluginPlatform.Android32: pi.SetCompatibleWithPlatform(BuildTarget.Android, true); pi.SetPlatformData(BuildTarget.Android, "CPU", "ARMv7"); break; case PluginPlatform.Android64: pi.SetCompatibleWithPlatform(BuildTarget.Android, true); pi.SetPlatformData(BuildTarget.Android, "CPU", "ARM64"); break; default: throw new ArgumentException("Attempted to enable platform support for unsupported platform: " + platform); } AssetDatabase.ImportAsset(relPath, ImportAssetOptions.ForceUpdate); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); AssetDatabase.SaveAssets(); } }
private static void SetCompatibleWithEditor(PluginImporter pluginImporter, bool enable) { if (pluginImporter.GetCompatibleWithEditor() != enable) { pluginImporter.SetCompatibleWithEditor(enable); mHasAtLeastOneLibraryBeenModified = true; } }
static void FixPlayMakerDllSettings(PluginImporter pluginImporter) { LogChange("Fixed Plugin Settings: " + pluginImporter.assetPath); pluginImporter.SetCompatibleWithAnyPlatform(false); pluginImporter.SetCompatibleWithEditor(true); SetCompatiblePlatforms(pluginImporter, standardPlatforms); AssetDatabase.Refresh(); }
internal bool UpdateCompatibleWithEditor(PluginImporter pluginImporter) { if (CompatibleWithEditor != pluginImporter.GetCompatibleWithEditor()) { pluginImporter.SetCompatibleWithEditor(CompatibleWithEditor); return(true); } return(false); }
static void ResetPluginSettings(PluginImporter plugin, string CPU, string OS) { #if UNITY_5_5_OR_NEWER plugin.ClearSettings(); #endif plugin.SetCompatibleWithAnyPlatform(false); plugin.SetCompatibleWithEditor(true); plugin.SetEditorData("CPU", CPU); plugin.SetEditorData("OS", OS); }
private static void ClearAllPlatforms(PluginImporter plugin) { plugin.SetCompatibleWithEditor(false); plugin.SetCompatibleWithAnyPlatform(false); Enum.GetValues(typeof(BuildTarget)) .Cast <BuildTarget>() .Where(target => !IsObsolete(target)) .Where(target => (int)target != -2) .ToList() .ForEach(target => plugin.SetCompatibleWithPlatform(target, false)); }
/// <summary> /// Enable the editor plugin at the specified path. /// </summary> private static void EnableEditorPlugin(string path) { PluginImporter importer = AssetImporter.GetAtPath(path) as PluginImporter; if (importer == null) { UnityEngine.Debug.Log(String.Format("Failed to enable editor plugin {0}", path)); return; } importer.SetCompatibleWithEditor(true); AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceUpdate); }
public static void IgnoreAssembly(PluginImporter Target, bool _ignore) { Debug.LogFormat("{0}gnoring {1} assembly!", _ignore ? "I" : "Dei", me.fileName); if (Target == null) { return; } Target.SetCompatibleWithAnyPlatform(!_ignore); Target.SetCompatibleWithEditor(!_ignore); AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate); // WIP: This doesn't actually works, scripts have to be reloaded manually DLLManager.SetBool(me.fileName, _ignore); }
private static void SetPluginEnabled(string pluginPath, bool enabled) { PluginImporter pluginImporter = AssetImporter.GetAtPath(pluginPath) as PluginImporter; if (pluginImporter.GetCompatibleWithEditor() == enabled) { return; } pluginImporter.SetCompatibleWithEditor(enabled); pluginImporter.SaveAndReimport(); }
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { #if UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_5_5 || UNITY_5_4 foreach (string importedAsset in importedAssets) { if (importedAsset.Equals(importedAssets[importedAssets.Length - 1])) { if (Directory.Exists(Utils.FixSlashesInPath("Assets/Plugins/Android/appodeal/assets")) && !Directory.Exists(Utils.FixSlashesInPath("Assets/Plugins/Android/assets"))) { if (EditorUtility.DisplayDialog("Appodeal Unity", "We have detected that you're using Unity" + Application.unityVersion + " and it can't compile android assets from library folder so Assets/Plugins/Android/appodeal/assets folder should be moved into Android folder.", "Move it for me", "Leave it there")) { Directory.Move(Utils.FixSlashesInPath("Assets/Plugins/Android/appodeal/assets"), Utils.FixSlashesInPath("Assets/Plugins/Android/assets")); reimportFolder(Utils.FixSlashesInPath("Assets/Plugins/Android/assets")); reimportFolder(Utils.FixSlashesInPath("Assets/Plugins/Android/appodeal")); } } } } #endif #if UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 if (File.Exists(Utils.FixSlashesInPath("Assets/Appodeal/SampleAndroidManifest.xml")) && !File.Exists(Utils.FixSlashesInPath("Assets/Plugins/Android/AndroidManifest.xml"))) { FileUtil.CopyFileOrDirectory(Utils.FixSlashesInPath("Assets/Appodeal/SampleAndroidManifest.xml"), Utils.FixSlashesInPath("Assets/Plugins/Android/AndroidManifest.xml")); } #endif #if UNITY_5_5 || UNITY_5_4 foreach (string plugin in Plugins) { string fullpath = Utils.FixSlashesInPath("Assets/Plugins/Android/" + plugin); if (File.Exists(fullpath)) { PluginImporter pluginImporter = AssetImporter.GetAtPath(fullpath) as PluginImporter; if (!pluginImporter.GetCompatibleWithPlatform(BuildTarget.Android)) { pluginImporter.SetCompatibleWithPlatform(BuildTarget.Android, true); } } } string path = Utils.FixSlashesInPath("Assets/Plugins/Ionic.Zip.Unity.dll"); if (File.Exists(path)) { PluginImporter ionicPluginImporter = AssetImporter.GetAtPath(path) as PluginImporter; if (!ionicPluginImporter.GetCompatibleWithEditor()) { ionicPluginImporter.SetCompatibleWithEditor(true); } } #endif }
private static void AddToStandaloneAndEditorPlatforms(PluginImporter pluginImporter, List <BuildTarget> buildTargets, bool addToEditor) { foreach (var buildTarget in buildTargets) { Debug.LogFormat("TriLib: Adding '{0}' to '{1}' Platform.", pluginImporter.assetPath, buildTarget); pluginImporter.SetCompatibleWithPlatform(buildTarget, true); } if (addToEditor) { Debug.LogFormat("TriLib: Adding '{0}' to Editor.", pluginImporter.assetPath); pluginImporter.SetCompatibleWithEditor(true); } }
private static void FixLocalizedResources() { Debug.Log("Fix Localized Resources"); string[] files = Directory.GetFiles(Application.get_dataPath(), "PlayMakerEditorResources.resources.dll", 1); string[] array = files; for (int i = 0; i < array.Length; i++) { string text = array[i]; PluginImporter pluginImporter = PackageExporter.GetPluginImporter(text.Substring(Application.get_dataPath().get_Length() - 6)); pluginImporter.SetCompatibleWithEditor(false); pluginImporter.SaveAndReimport(); } }
private static void SetPluginCompatibleEditor(string path, bool enable) { if (File.Exists(path) == true || Directory.Exists(path) == true) { PluginImporter pluginImporter = PluginImporter.GetAtPath(path) as PluginImporter; if (pluginImporter != null) { pluginImporter.SetCompatibleWithAnyPlatform(false); if (pluginImporter.GetCompatibleWithEditor() != enable) { pluginImporter.SetCompatibleWithEditor(enable); pluginImporter.SaveAndReimport(); } } } }
private void CheckWSADllPlatforms() { #if !UNITY_4 && !UNITY_5_0 && !UNITY_5_1 && !UNITY_5_2 string pluginPath = "Assets/Plugins/UTNotifications.dll"; PluginImporter pluginImporter = ((PluginImporter)AssetImporter.GetAtPath(pluginPath)); if (pluginImporter.GetCompatibleWithAnyPlatform() || pluginImporter.GetCompatibleWithPlatform(BuildTarget.WSAPlayer)) { pluginImporter.SetCompatibleWithAnyPlatform(false); pluginImporter.SetCompatibleWithPlatform(BuildTarget.WSAPlayer, false); pluginImporter.SetCompatibleWithEditor(true); pluginImporter.SaveAndReimport(); AssetDatabase.ImportAsset(pluginPath); } #endif }
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { #if UNITY_4 && UNITY_IPHONE if (PlayerSettings.apiCompatibilityLevel.Equals(ApiCompatibilityLevel.NET_2_0_Subset)) { if (EditorUtility.DisplayDialog("Appodeal Unity", "We have detected that you're using subset API compatibility level: " + PlayerSettings.apiCompatibilityLevel + " you should change it to NET_2_0 to be able using Ionic.ZIP.dll.", "Change it for me", "I'll do it")) { PlayerSettings.apiCompatibilityLevel = ApiCompatibilityLevel.NET_2_0; } } #endif #if UNITY_4 if (File.Exists(Utils.FixSlashesInPath("Assets/Appodeal/SampleAndroidManifest.xml")) && !File.Exists(Utils.FixSlashesInPath("Assets/Plugins/Android/AndroidManifest.xml")) && moveManifest) { if (EditorUtility.DisplayDialog("Appodeal Unity", "We have detected that you have no AndroidManifest.xml inside Android folder, it should override Unity's settings to fix not clickable ads", "Place template for me", "Don't do that!")) { FileUtil.CopyFileOrDirectory(Utils.FixSlashesInPath("Assets/Appodeal/SampleAndroidManifest.xml"), Utils.FixSlashesInPath("Assets/Plugins/Android/AndroidManifest.xml")); } } #endif #if UNITY_5 foreach (string plugin in Plugins) { string fullpath = Utils.FixSlashesInPath("Assets/Plugins/Android/" + plugin); if (File.Exists(fullpath)) { PluginImporter pluginImporter = AssetImporter.GetAtPath(fullpath) as PluginImporter; if (!pluginImporter.GetCompatibleWithPlatform(BuildTarget.Android)) { pluginImporter.SetCompatibleWithPlatform(BuildTarget.Android, true); } } } string path = Utils.FixSlashesInPath("Assets/Plugins/Ionic.Zip.Unity.dll"); if (File.Exists(path)) { PluginImporter ionicPluginImporter = AssetImporter.GetAtPath(path) as PluginImporter; if (!ionicPluginImporter.GetCompatibleWithEditor()) { ionicPluginImporter.SetCompatibleWithEditor(true); } } #endif }
public static void SwitchCompatibleWithPlatform(PluginImporter plugin, bool value) { if (value) { Debug.Log("Platform " + EditorUserBuildSettings.activeBuildTarget + ". Switch Nuitrack dll to " + plugin.assetPath); } plugin.SetCompatibleWithAnyPlatform(false); plugin.SetCompatibleWithPlatform(BuildTarget.iOS, value); plugin.SetCompatibleWithPlatform(BuildTarget.Android, value); plugin.SetCompatibleWithPlatform(BuildTarget.StandaloneLinux, value); plugin.SetCompatibleWithPlatform(BuildTarget.StandaloneLinux64, value); plugin.SetCompatibleWithPlatform(BuildTarget.StandaloneOSX, value); plugin.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows, value); plugin.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows64, value); plugin.SetCompatibleWithEditor(value); }
private static void ToggleAssemblies(string path, string[] assemblies, bool enable) { foreach (var file in assemblies) { var filepath = path + file; PluginImporter importer = AssetImporter.GetAtPath(filepath) as PluginImporter; if (importer == null) { Debug.LogFormat("GitHub for Unity: Could not find importer for {0}. Some functionality may fail.", filepath); continue; } if (importer.GetCompatibleWithEditor() != enable) { importer.SetCompatibleWithEditor(enable); importer.SaveAndReimport(); } } }
private static void EnableIOSResolver() { string iosResolverPath = AssetDatabase.GUIDToAssetPath(_iosResolverGuid); if (iosResolverPath == null) { Debug.LogError("ARCoreExtensions: Could not locate Google.IOSResolver plugin."); return; } PluginImporter pluginImporter = AssetImporter.GetAtPath(iosResolverPath) as PluginImporter; if (!pluginImporter.GetCompatibleWithEditor()) { pluginImporter.SetCompatibleWithEditor(true); } }
/** * @brief プラグインのUnityEditor上でのターゲットプラットフォーム別設定の実行. * @param plugin 対象となるプラグイン. * @param cpuType 対象となるプラグインのサポートCPUタイプ("AnyCPU", "X86", "X86_64" のうちのどれか). * @param osType 対象となるプラグインのサポートOSタイプ("AnyOS", "OSX", "Windows", "Linux" のうちのどれか). */ static void SettingPlatformWithEditor(PluginImporter plugin, string osType = "AnyOS", string cpuType = "AnyCPU") { // UnityEditorでの有効化設定 plugin.SetCompatibleWithEditor(true); // CPUタイプの設定 if (cpuType.Length > 0) { plugin.SetEditorData("CPU", cpuType); plugin.SetPlatformData("Editor", "CPU", cpuType); } // OSタイプの設定 if (osType.Length > 0) { plugin.SetEditorData("OS", osType); plugin.SetPlatformData("Editor", "OS", osType); } }
private static bool SetDLLCompatibility(string pathToDLL, BuildTarget[] supportedBuildTargets, bool isCompatibleWithEditor) { if (HasCompatibility(pathToDLL, supportedBuildTargets, isCompatibleWithEditor)) { return(false); } PluginImporter pluginImporter = (PluginImporter)AssetImporter.GetAtPath(pathToDLL); pluginImporter.SetCompatibleWithAnyPlatform(false); pluginImporter.SetCompatibleWithEditor(isCompatibleWithEditor); foreach (BuildTarget buildTarget in supportedBuildTargets) { pluginImporter.SetCompatibleWithPlatform(buildTarget, true); } pluginImporter.SaveAndReimport(); return(true); }
/// <summary> /// Enable a dependency resolver. /// </summary> /// <param name="resolverName">Resolver plugin's filename.</param> public static void EnableDependencyResolver(string resolverName) { string resolverPath = null; string[] guids = AssetDatabase.FindAssets(resolverName); foreach (var guid in guids) { string path = AssetDatabase.GUIDToAssetPath(guid); if (path.EndsWith(".dll")) { if (resolverPath != null) { Debug.LogErrorFormat("ARCoreExtensions: " + "There are multiple {0} plugins detected. " + "One is {1}, another is {2}. Please remove one of them.", resolverName, resolverPath, path); return; } resolverPath = path; } } if (resolverPath == null) { Debug.LogErrorFormat( "ARCoreExtensions: Could not locate {0} plugin.", resolverName); return; } PluginImporter pluginImporter = AssetImporter.GetAtPath(resolverPath) as PluginImporter; if (!pluginImporter.GetCompatibleWithEditor()) { pluginImporter.SetCompatibleWithEditor(true); } }
private static void EnableJarResolver() { string jarResolverPath = null; string[] guids = AssetDatabase.FindAssets("Google.JarResolver"); foreach (var guid in guids) { string path = AssetDatabase.GUIDToAssetPath(guid); if (path.EndsWith(".dll")) { if (jarResolverPath != null) { Debug.LogErrorFormat("ARCoreExtensions: " + "There are multiple Google.JarResolver plugins detected. " + "One is {0}, another is {1}. Please remove one of them.", jarResolverPath, path); return; } jarResolverPath = path; } } if (jarResolverPath == null) { Debug.LogError("ARCoreExtensions: Could not locate Google.JarResolver plugin."); return; } PluginImporter pluginImporter = AssetImporter.GetAtPath(jarResolverPath) as PluginImporter; if (!pluginImporter.GetCompatibleWithEditor()) { pluginImporter.SetCompatibleWithEditor(true); } }
public override void PostBuild(NativePlugin plugin, NativeBuildOptions buildOptions) { base.PostBuild(plugin, buildOptions); string assetFile = CombinePath( AssetDatabase.GetAssetPath(plugin.pluginBinaryFolder), "OSX", string.Format("{0}.bundle", plugin.Name)); PluginImporter pluginImporter = PluginImporter.GetAtPath((assetFile)) as PluginImporter; if (pluginImporter != null) { SetPluginBaseInfo(plugin, buildOptions, pluginImporter); pluginImporter.SetCompatibleWithAnyPlatform(false); pluginImporter.SetCompatibleWithEditor(true); pluginImporter.SetCompatibleWithPlatform(BuildTarget.StandaloneOSX, true); pluginImporter.SetEditorData("OS", "OSX"); pluginImporter.SaveAndReimport(); } }
public override void fixProblem() { PluginImporter imp = AssetImporter.GetAtPath(pluginPath) as PluginImporter; switch (platform) { case PlatformChecker.platforms.any: imp.SetCompatibleWithAnyPlatform(true); break; case PlatformChecker.platforms.editor: imp.SetCompatibleWithEditor(true); break; case PlatformChecker.platforms.android: imp.SetCompatibleWithPlatform(BuildTarget.Android, true); break; case PlatformChecker.platforms.ios: imp.SetCompatibleWithPlatform(BuildTarget.iOS, true); break; } }
private void SetCompatible() { String pluginLocation = Path.Combine(MLPluginPath, _libFileName); int startIndex = pluginLocation.IndexOf("Assets"); int endIndex = pluginLocation.Length - startIndex; String subString = pluginLocation.Substring(startIndex, endIndex); PluginImporter mabuNativePlugin = AssetImporter.GetAtPath(subString) as PluginImporter; if (mabuNativePlugin) { mabuNativePlugin.SetCompatibleWithEditor(false); mabuNativePlugin.SetCompatibleWithAnyPlatform(false); mabuNativePlugin.SetCompatibleWithPlatform(BuildTarget.Lumin, true); StackTraceLogType originalType = Application.GetStackTraceLogType(LogType.Log); Application.SetStackTraceLogType(LogType.Log, StackTraceLogType.None); UnityEngine.Debug.Log(String.Format("Plugin {0} ready for use.", _libFileName)); Application.SetStackTraceLogType(LogType.Log, originalType); } else { UnityEngine.Debug.LogErrorFormat("Plugin Compatibility failed for {0}", _libFileName); } }