diff --git a/launch/distributed-sorting/main_controller_virtual-tag_preview.launch b/launch/distributed-sorting/main_controller_virtual-tag_preview.launch
new file mode 100644
index 0000000000000000000000000000000000000000..49770c61ea2eeadbd38019a086129d941861e812
--- /dev/null
+++ b/launch/distributed-sorting/main_controller_virtual-tag_preview.launch
@@ -0,0 +1,15 @@
+<launch>
+
+    <arg name="connection_address" default="tcp://*:6576" doc="connection address for NNG scene-based selection"/>
+    <arg name="mqtt_server" default="tcp://127.0.0.1:1883" doc="MQTT server for communication with client cells"/>
+    <arg name="client_controllers" default="['ceti_cell_1', 'ceti_cell_2', 'ads-cell', 'st-cell', 'ceti_cell_empty']" doc="potential client cell names"/>
+
+    <node pkg="ccf_immersive_sorting" type="main_controller" name="main_controller" output="screen">
+        <param name="connection_address" type="string" value="$(arg connection_address)"/>
+        <param name="client_controllers" type="yaml" value="$(arg client_controllers)"/>
+        <param name="mqtt_server" type="yaml" value="$(arg mqtt_server)"/>
+        <param name="arm" type="string" value="virtual-arm"/>
+        <param name="scene" type="string" value="$(find ccf_immersive_sorting)/config/config_scene_virtual-tag-table.json"/>
+    </node>
+
+</launch>