using System; using UnityEditor; using UnityEngine; namespace Unity.VisualScripting { [Plugin(BoltFlow.ID)] internal class Migration_Asset_to_Package : PluginMigration { public Migration_Asset_to_Package(Plugin plugin) : base(plugin) { order = 2; } public override SemanticVersion @from => "1.4.1000"; public override SemanticVersion to => "1.5.0-pre.0"; public override void Run() { plugin.configuration.Initialize(); try { MigrateProjectSettings(); } #pragma warning disable 168 catch (Exception e) #pragma warning restore 168 { Debug.LogWarning("There was a problem migrating your Visual Scripting project settings. Be sure to check them in Edit -> Project Settings -> Visual Scripting"); #if VISUAL_SCRIPT_DEBUG_MIGRATION Debug.LogError(e); #endif } try { MigrationUtility_Asset_to_Package.MigrateEditorPreferences(this.plugin); } #pragma warning disable 168 catch (Exception e) #pragma warning restore 168 { Debug.LogWarning("There was a problem migrating your Visual Scripting editor preferences. Be sure to check them in Edit -> Preferences -> Visual Scripting"); #if VISUAL_SCRIPT_DEBUG_MIGRATION Debug.LogError(e); #endif } UnitBase.Rebuild(); } private static void MigrateProjectSettings() { // Bolt.Flow -> VisualScripting.Flow BoltFlow.Configuration.LoadOrCreateProjectSettingsAsset(); var legacyProjectSettingsAsset = MigrationUtility_Asset_to_Package.GetLegacyProjectSettingsAsset("Bolt.Flow"); if (legacyProjectSettingsAsset != null) { BoltFlow.Configuration.projectSettingsAsset.Merge(legacyProjectSettingsAsset); } BoltFlow.Configuration.SaveProjectSettingsAsset(true); BoltFlow.Configuration.ResetProjectSettingsMetadata(); } } [Plugin(BoltFlow.ID)] internal class DeprecatedSavedVersionLoader_Bolt_AssetStore : PluginDeprecatedSavedVersionLoader { public DeprecatedSavedVersionLoader_Bolt_AssetStore(Plugin plugin) : base(plugin) { } public override SemanticVersion @from => "1.4.13"; public override bool Run(out SemanticVersion savedVersion) { var manuallyParsedVersion = MigrationUtility_Asset_to_Package.TryManualParseSavedVersion("Bolt.Flow"); savedVersion = manuallyParsedVersion; return savedVersion != "0.0.0"; } } }