ensure unpack declares required artifacts (#33454)

diff --git a/packages/flutter_tools/lib/src/commands/unpack.dart b/packages/flutter_tools/lib/src/commands/unpack.dart
index 79b7950..799815e 100644
--- a/packages/flutter_tools/lib/src/commands/unpack.dart
+++ b/packages/flutter_tools/lib/src/commands/unpack.dart
@@ -73,6 +73,27 @@
   bool get isExperimental => true;
 
   @override
+  Future<Set<DevelopmentArtifact>> get requiredArtifacts async {
+    final Set<DevelopmentArtifact> result = <DevelopmentArtifact>{
+      DevelopmentArtifact.universal,
+    };
+    final TargetPlatform targetPlatform = getTargetPlatformForName(argResults['target-platform']);
+    switch (targetPlatform) {
+      case TargetPlatform.darwin_x64:
+        result.add(DevelopmentArtifact.macOS);
+        break;
+      case TargetPlatform.windows_x64:
+        result.add(DevelopmentArtifact.windows);
+        break;
+      case TargetPlatform.linux_x64:
+        result.add(DevelopmentArtifact.linux);
+        break;
+      default:
+    }
+    return result;
+  }
+
+  @override
   Future<FlutterCommandResult> runCommand() async {
     final String targetName = argResults['target-platform'];
     final String targetDirectory = argResults['cache-dir'];