diff --git a/osu.Game/Beatmaps/BeatmapManager.cs b/osu.Game/Beatmaps/BeatmapManager.cs index f03531aba8..30d46fd966 100644 --- a/osu.Game/Beatmaps/BeatmapManager.cs +++ b/osu.Game/Beatmaps/BeatmapManager.cs @@ -246,9 +246,13 @@ namespace osu.Game.Beatmaps { downloadNotification.State = ProgressNotificationState.Completed; - using (var stream = new MemoryStream(data)) - using (var archive = new OszArchiveReader(stream)) - Import(archive); + Task.Factory.StartNew(() => + { + // This gets scheduled back to the update thread, but we want the import to run in the background. + using (var stream = new MemoryStream(data)) + using (var archive = new OszArchiveReader(stream)) + Import(archive); + }, TaskCreationOptions.LongRunning); currentDownloads.Remove(request); };