Skip to content

Desuq Cafe

Documentation menu

Details Panels

The plugin ships rich, customized Details panels so you can control OBS directly from the editor, with no Play mode required. Two actors get dedicated panels: any actor carrying an OBS Component, and the OBS Trigger Volume actor.

For controlling OBS from editor code (rather than the Details UI), see Editor Subsystem. The shared widget/colour/spacing conventions used by every section below are documented in Style System.

OBS Component Details Panel

When you select an actor with an OBS Component, the Details panel renders a set of expandable sections. Many sections are collapsed by default, and which sections appear is also driven by the component’s feature picker (see below).

Feature / Component Picker

Pinned at the top of the panel, the feature picker is a grid of toggle cards that controls which sections render and which OBS event streams the component subscribes to.

  • A locked Connection (always on) foundation card.
  • Toggle cards (default: Scenes plus Recording & Streaming), each with a plain-English label and a one-line tooltip, showing a status dot and accent border for their on/off state.
  • Enable all / Reset buttons.

Toggling a card writes the bit through the component’s EnabledFeatures property (so it persists and undoes), then rebuilds the panel to show only the enabled sections. Some features also opt into higher-volume event streams when enabled (for example, scene-transform events).

The win is UI clarity and not subscribing to event streams you did not pick. Handlers themselves are lazily created and cheap.

Connection Section

The Connection section is a prominent, always-expanded accent card pinned near the top.

  • Host / Port / Password: connection settings (editable properties). The password field is masked by default with an eye toggle to reveal it.
  • Auto Connect: connects automatically on BeginPlay.
  • Status Indicator: visual connection state (green = connected, yellow = connecting, gray = disconnected).
  • Connect / Disconnect / Refresh: control buttons.
  • A subtle hint to connect appears only while disconnected.

Configuration Section (collapsed by default)

  • Scene Collections
    • Current collection dropdown: select / switch collection
    • New collection text input with Create button
    • Refresh button
  • Profiles
    • Current profile dropdown: select / switch profile
    • Delete button (disabled for the current profile)
    • New profile text input with Create button
    • Refresh button
  • Video Settings
    • Warning text when streaming / recording (settings locked)
    • Base Resolution: Width × Height spinboxes
    • Output Resolution: Width × Height spinboxes
    • FPS dropdown (30, 60, 120, 29.97, 59.94)
    • Apply button (disabled while streaming / recording)
    • Refresh button
  • Stream Service Settings
    • Warning text when currently streaming (changes apply after restart)
    • Service Type dropdown (Custom RTMP / Common Service)
    • Server URL input (visible for Custom RTMP)
    • Common Service dropdown: Twitch, YouTube, Facebook, etc. (visible for Common Service)
    • Stream Key input (password-masked with Show / Hide toggle)
    • Use Authentication checkbox
    • Username input (visible when auth enabled)
    • Password input (visible when auth enabled, always masked)
    • Apply / Refresh buttons

Scenes Section

  • Current Scene: display with status indicator
  • Switch To: dropdown to change the active scene
  • Trigger Scene: scene to switch to on trigger (sets TriggerSceneName)
  • Available Scenes Header: label with scene count and a + New Scene button (opens a create-scene dialog)
  • Scene List: an expandable area per scene:
    • Scene Row Header: scene name (bold green if current), source count in parentheses, Rename button, Delete button (red, disabled for the current scene)
    • Transition Override (inside the expanded scene): transition dropdown (“(No Override)” to clear), duration spinbox (50 to 20000 ms), Clear button
    • Source List: each source with a visibility checkbox, lock toggle, Z-order up/down buttons, transform-edit button, and remove button
    • + Add Source: opens a source picker (lists all OBS inputs plus other scenes for nesting) and adds the selection via CreateSceneItem

Scene Item Transform Section

  • Selection Header: selected source name and scene
  • Fetch / Duplicate / Clear: refresh from OBS, duplicate the item, or clear selection
  • Position: X / Y coordinate spinboxes
  • Scale: X / Y scale spinboxes (0.01 precision)
  • Rotation: degrees spinbox with the ° symbol
  • Crop: Left / Right / Top / Bottom pixel spinboxes
  • Bounding Box: Type dropdown (None, Stretch, Scale Inner, …) and Width / Height spinboxes
  • Source Info (read-only): native dimensions, current computed dimensions
  • Blend Mode: dropdown for compositing mode (Normal, Additive, Subtract, …)

Note: Click the transform-edit button on any source in the Scenes section to select it for transform editing here.

Studio Mode Section

  • Studio Mode Status: Enabled / Disabled with indicator
  • Enable / Disable button
  • Preview Scene: current preview scene display (when enabled)
  • Set Preview: dropdown to select the preview scene (when enabled)
  • Transition button: transitions preview to program (when enabled)

Transitions Section

  • Current Transition: display with status indicator (yellow during an active transition)
  • Transitioning…: status row shown during active transitions
  • Type: transition kind (Fade, Cut, Stinger, …)
  • Duration: current duration with editable input. Disabled for fixed transitions (like Cut), which show a “(fixed)” label.
  • Switch To: dropdown to change the active transition

Recording & Streaming Section

  • Recording Status: timecode display when recording, status indicator (red = recording, yellow = paused, gray = stopped), and Start / Stop / Pause buttons
  • Record Directory: current directory display (read-only), Browse button (folder picker, applies on next recording), Refresh button (fetch current directory from OBS)
  • Record Split & Chapters (OBS 30.2+): Split File button (enabled when recording), chapter name input (optional), Add Chapter button (Hybrid MP4 only, enabled when recording)
  • Streaming Status: timecode display when live, status indicator (red = live, gray = offline), and Go Live / End Stream buttons
  • Stream Captions: caption text input, Send button (enabled when streaming)

Advanced Outputs Section (collapsed by default)

For power users controlling custom / plugin outputs by name.

  • Output Selection: output dropdown (discovered outputs), Refresh button
  • Output Controls: Start / Stop / Toggle buttons (enabled when an output is selected), Status button
  • Output Status Display: selected output name, active state indicator (Active / Inactive / Reconnecting), timecode, bytes sent / written (B/KB/MB/GB), network congestion percentage, and frame statistics (delivered / total / skipped)

Virtual Camera Section

  • Status: Active / Inactive with indicator
  • Start / Stop buttons

Replay Buffer Section

  • Status: Recording / Inactive with indicator
  • Start / Stop / Save buttons (Save enabled only when the buffer is active)

Audio Inputs Section (collapsed by default)

  • Create New Input (collapsible): target scene dropdown, input name field, input kind dropdown with refresh, optional JSON settings (collapsible), Enabled checkbox, Create button (requires scene, name, and kind)
  • Lists all audio inputs from OBS, each with:
    • Mute indicator: green (unmuted), red (muted), gray (unknown)
    • Inline rename: double-click the input name to edit
    • Volume display: current dB level
    • Remove button: delete input (with confirmation)
    • Mute / Unmute toggle
    • Volume slider: drag to adjust (-100 to +26 dB)
    • Reset: set to 0 dB
    • Advanced (collapsible per-input): Balance (L/R slider + center reset), Sync Offset (-950 to 20000 ms + reset), Monitor dropdown (None / Monitor Only / Monitor and Output), Tracks (6 checkboxes for routing 1 to 6)
  • Inactive sources (not enabled in any scene) are shown dimmed.

Media Inputs Section (collapsed by default)

  • Lists all media sources (ffmpeg, vlc, media types)
  • Per-input controls: an activity indicator (enabled in any scene) and Play / Pause / Stop / Restart buttons
  • Inactive sources shown dimmed

Input Settings Section (collapsed by default)

  • Input Dropdown: select which input to view / edit
  • Input Type: the kind of input (text, browser, image, …)
  • Refresh Button: fetch latest settings from OBS
  • Dynamic Settings UI: changes by input type:
    • Text Sources: multi-line text editor
    • Browser Sources: URL field, dimensions display
    • Image Sources: file path field
    • Media Sources: file path field, loop checkbox
    • Color Sources: color picker (click to open)
    • Other Types: read-only JSON display
  • Changes apply immediately when editing.

Source Filters Section (collapsed by default)

  • Source Dropdown: select which source to view / edit filters for
  • Refresh Buttons: refresh the filters list or available filter types
  • Filter List: every filter on the selected source, with an enable/disable checkbox, name + readable type, index position, move up/down buttons, and a remove button
  • Add New Filter: filter type dropdown (from OBS), name input, Add Filter button

Screenshots Section (collapsed by default)

  • Status: Ready / Capturing / Success / Error with indicator
  • Source Dropdown: any scene or input (shows [Scene] SceneName or [Input] InputName)
  • Format Dropdown: PNG, JPG, WebP, BMP
  • Quality Slider: 0 to 100% (only visible for JPG / WebP)
  • Size: Width × Height spinboxes (0 = native resolution)
  • Capture Button: capture to memory and display preview
  • Save to File: file path input (path on the OBS machine) and Save button
  • Preview: displays the last captured screenshot
  • Last Saved: path of the most recently saved file

Trigger Volume Details Panel

Selecting an OBS Trigger Volume actor shows a single, customized OBS Trigger Volume category with these sections. For the gameplay model behind triggers, see the Trigger Volume guide.

Trigger Shape Section

  • Shape Type: Box or Sphere dropdown
  • Box Extent: half-size vector (the box spans 2× this in each direction), shown only for Box
  • Sphere Radius: float, shown only for Sphere

Appearance Section

  • Debug Draw: Show in Editor / Show at Runtime, Draw Solid (box only), Line Thickness, Volume Color, Action Label
  • Styled Mesh: Volume Style (None / Glow / Hologram / Pulse / Custom). The Custom material picker appears only when Volume Style = Custom.

See Style System for a summary of the volume styling, and the dedicated style-system doc for the material recipe.

Trigger Settings Section

  • Trigger Event: OnEnter, OnExit, or Both
  • Actor Filtering: Actor Class filter, Specific Actor reference
  • Behavior: Cooldown (seconds), Enabled, One-Shot
  • Connection (optional): Target OBS Component (falls back to the global subsystem)

Conditions Section

  • Info text explaining the all-AND logic
  • Output State: Recording Requirement and Streaming Requirement, each a tri-state dropdown (Any / Required / Disallowed)
  • Scene Conditions: Required / Excluded Scene, picked from live-OBS scene dropdowns
  • Audio Activity: per-input Talking / Idle conditions with an input picker and a live talking dot
  • Source Visibility: per-source Visible / Hidden conditions with scene + source pickers and a live visible dot

Actions Section

  • On Enter Actions / On Exit Actions: array editors (visible based on Trigger Event)
  • Each action uses live-OBS name dropdowns (scene / input / source, plus on-demand Filter and Hotkey pickers) with an inline {Type}: {target} summary in the row header

Test Controls Section

  • Warning Box: shown when no OBS connection is available (explains how to set up a connection)
  • Connection Status: with indicator
  • Conditions Status: shows whether all conditions pass
  • Refresh button: re-check status
  • Execute Enter / Exit buttons: manually fire actions for testing

Note: Manual execution ignores conditions (except the connection requirement).

Style System

Every section above is built from the shared FOBSDetailsPanelStyle helpers, which provide consistent spacing constants, status colours, and widget factories (status dots, labelled rows, value text, separators, subsection headers). See Style System for the full reference.