TOptional<ECurrentState> FAutoReimportManager::ProcessDeletions() { TGuardValue<bool> ScopedAssetChangesGuard(bGuardAssetChanges, true); const IAssetRegistry& Registry = FModuleManager::LoadModuleChecked<FAssetRegistryModule>("AssetRegistry").Get(); FeedbackContextOverride->GetContent()->SetMainText(GetProgressText()); TArray<FAssetData> AssetsToDelete; for (auto& Monitor : DirectoryMonitors) { Monitor.ExtractAssetsToDelete(Registry, AssetsToDelete); } if (AssetsToDelete.Num() > 0) { for (const auto& AssetData : AssetsToDelete) { FeedbackContextOverride->AddMessage(EMessageSeverity::Info, FText::Format(LOCTEXT("Success_DeletedAsset", "Attempting to delete {0} (its source file has been removed)."), FText::FromName(AssetData.AssetName))); } ObjectTools::DeleteAssets(AssetsToDelete); } return ECurrentState::SavePackages; }