diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasMultiviewControl.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasMultiviewControl.cs
new file mode 100644
index 00000000..58bdd1f3
--- /dev/null
+++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasMultiviewControl.cs
@@ -0,0 +1,28 @@
+namespace PepperDash.Essentials.Core.DeviceTypeInterfaces;
+
+///
+/// Defines a device (e.g. a multiview/UVC compositor) whose multiview output can be enabled and
+/// whose active layout can be observed. Implementing this interface (instead of requiring consumers
+/// to reference the hardware-specific plugin type directly) lets other plugins (e.g. a room plugin)
+/// turn the multiview on and read its current layout without taking a compile-time dependency on the
+/// specific hardware plugin that implements it. The layout is set via
+/// .
+///
+public interface IHasMultiviewControl
+{
+ ///
+ /// Enables or disables the multiview output.
+ ///
+ /// True to enable multiview, false to disable.
+ void SetMultiviewEnabled(bool enabled);
+
+ ///
+ /// Feedback for whether the multiview output is currently enabled.
+ ///
+ BoolFeedback MultiviewEnabled { get; }
+
+ ///
+ /// Feedback for the current multiview layout index.
+ ///
+ IntFeedback MultiviewLayout { get; }
+}