Skip to content

Desuq Cafe

Documentation menu

Struct Reference

This page documents every public USTRUCT (BlueprintType) in the plugin. Enum-typed fields are documented in the Enum Reference. Events that deliver these structs are listed in Events.

Some structs also carry C++-only helper members (e.g. a TSharedPtr<FJsonObject> mirror of a JSON string field, or InitFromJson/ToJson helpers). Those are noted but are not Blueprint-visible.

Core: Requests & Batches

FOBSRequestResult

Result of a single OBS WebSocket request.

FieldTypeDescription
bSuccessboolWhether the request succeeded.
StatusCodeint32OBS request status code.
CommentFStringStatus comment / error text from OBS.

FOBSBatchRequest

A single request within a batch being built for OBS.

FieldTypeDescription
RequestTypeFStringThe request type (e.g. "SetCurrentProgramScene").
RequestIdFStringOptional per-request ID within the batch.
RequestDataJsonFStringRequest data as a JSON string (Blueprint-friendly).
RequestDataTSharedPtr<FJsonObject>C++-only parsed request data.

FOBSBatchRequestResult

Result of one request inside a batch response.

FieldTypeDescription
RequestTypeFStringThe request type.
RequestIdFStringThe request ID, if one was provided.
RequestStatusFOBSRequestResultPer-request success/code/comment.
ResponseDataTSharedPtr<FJsonObject>C++-only response data.

FOBSBatchResult

Result of an entire batch operation.

FieldTypeDescription
RequestIdFStringThe batch request ID.
bAllSucceededboolWhether every request in the batch succeeded.
ResultsTArray<FOBSBatchRequestResult>Per-request results.

Outputs

FOBSStreamStatus

Status of the streaming output.

FieldTypeDescription
bOutputActiveboolWhether streaming is active.
bOutputReconnectingboolWhether the stream is currently reconnecting.
OutputTimecodeFStringCurrent stream timecode.
OutputBytesint64Total bytes sent.
OutputSkippedFramesint32Frames skipped by the output.
OutputTotalFramesint32Total frames delivered.

FOBSRecordStatus

Status of the recording output.

FieldTypeDescription
bOutputActiveboolWhether recording is active.
bOutputPausedboolWhether recording is paused.
OutputTimecodeFStringCurrent recording timecode.
OutputBytesint64Total bytes written.

FOBSVirtualCamStatus

Status of the virtual camera output.

FieldTypeDescription
bOutputActiveboolWhether the virtual camera is active.

FOBSReplayBufferStatus

Status of the replay buffer.

FieldTypeDescription
bOutputActiveboolWhether the replay buffer is active.

FOBSReplayBufferSavedInfo

Information about a saved replay-buffer clip.

FieldTypeDescription
SavedReplayPathFStringPath to the saved replay file.

FOBSOutput

Description of a generic OBS output.

FieldTypeDescription
OutputNameFStringName of the output.
OutputKindFStringOutput kind/type.
OutputWidthint32Output width in pixels.
OutputHeightint32Output height in pixels.
bOutputActiveboolWhether the output is active.
OutputFlagsFStringOutput capability flags.

FOBSOutputStatus

Detailed status of a generic OBS output.

FieldTypeDescription
OutputNameFStringName of the output.
bOutputActiveboolWhether the output is active.
bOutputReconnectingboolWhether the output is reconnecting.
OutputTimecodeFStringCurrent timecode.
OutputDurationint64Duration in milliseconds.
OutputCongestionfloatCongestion factor (0 to 1).
OutputBytesint64Total bytes.
OutputSkippedFramesint64Skipped frames.
OutputTotalFramesint64Total frames.

Scenes & Scene Items

FOBSScene

A single OBS scene.

FieldTypeDescription
SceneNameFStringScene name.
SceneUuidFStringScene UUID.
SceneIndexint32Position of the scene in the scene list.

FOBSSceneItem

A scene item (a source placed within a scene).

FieldTypeDescription
SourceNameFStringName of the underlying source.
SourceUuidFStringUUID of the source.
SceneItemIdint32Numeric scene-item ID (used by OBS to key the item).
SceneItemIndexint32Z-order index within the scene.
bSceneItemEnabledboolWhether the item is visible.
bSceneItemLockedboolWhether the item is locked.
InputKindFStringKind of input/source.
BlendModeEOBSBlendModeCompositing blend mode.

FOBSSceneWithItems

A scene together with all of its scene items.

FieldTypeDescription
SceneNameFStringScene name.
SceneUuidFStringScene UUID.
SceneIndexint32Scene-list position.
SceneItemsTArray<FOBSSceneItem>The scene’s items.

FOBSSceneItemTransform

Full transform of a scene item: position, rotation, scale, alignment, bounds, and crop. Read-only computed fields are populated by GetSceneItemTransform.

FieldTypeDescription
PositionXfloatX position in pixels.
PositionYfloatY position in pixels.
RotationfloatRotation in degrees (0 to 360).
ScaleXfloatHorizontal scale multiplier (1.0 = 100%).
ScaleYfloatVertical scale multiplier (1.0 = 100%).
Alignmentint32Alignment bitflags (0=Center, 1=Left, 2=Right, 4=Top, 8=Bottom).
BoundsTypeEOBSBoundsTypeBounding-box behaviour.
BoundsWidthfloatBounding-box width.
BoundsHeightfloatBounding-box height.
BoundsAlignmentint32Alignment within the bounds (same bitflags).
CropLeftint32Pixels cropped from the left.
CropRightint32Pixels cropped from the right.
CropTopint32Pixels cropped from the top.
CropBottomint32Pixels cropped from the bottom.
SourceWidthfloatNative source width (read-only).
SourceHeightfloatNative source height (read-only).
WidthfloatComputed width after scaling (read-only).
HeightfloatComputed height after scaling (read-only).

FOBSCreateSceneResult

Result of creating a scene.

FieldTypeDescription
bSuccessboolWhether the scene was created.
SceneUuidFStringUUID of the new scene.
ErrorMessageFStringError text on failure.

FOBSSourceActiveState

Whether a source is showing in Program / in the UI.

FieldTypeDescription
bVideoActiveboolShowing in Program.
bVideoShowingboolShowing in the UI (Preview, Projector, Properties).

FOBSSceneTransitionOverride

Per-scene transition override.

FieldTypeDescription
TransitionNameFStringOverridden transition name (empty if none).
TransitionDurationint32Overridden duration in ms (-1 if none).
bHasOverrideboolWhether an override is set.

FOBSSceneItemSource

Identifies a scene item’s underlying source.

FieldTypeDescription
SourceNameFStringSource name.
SourceUuidFStringSource UUID.

Audio

FOBSAudioTracks

Per-track enable states for advanced audio routing (tracks 1 to 6). Provides InitFromJson, ToJson, IsTrackEnabled, and SetTrackEnabled helpers in C++.

FieldTypeDescription
bTrack1boolTrack 1 enabled (default true).
bTrack2boolTrack 2 enabled.
bTrack3boolTrack 3 enabled.
bTrack4boolTrack 4 enabled.
bTrack5boolTrack 5 enabled.
bTrack6boolTrack 6 enabled.

FOBSInput

An OBS input source with its audio properties.

FieldTypeDescription
InputNameFStringInput name.
InputUuidFStringInput UUID.
InputKindFStringInput kind/type.
VolumeDbfloatVolume in decibels (0 = unity).
VolumeMulfloatVolume as a multiplier (1.0 = unity).
bMutedboolWhether the input is muted.
bAudioInfoLoadedboolWhether volume/mute info has been fetched.
BalancefloatStereo balance (0 = left, 0.5 = center, 1 = right).
SyncOffsetMsint32Audio sync offset in milliseconds (may be negative).
MonitorTypeEOBSMonitorTypeAudio monitor type.
AudioTracksFOBSAudioTracksTrack routing (1 to 6).
bAdvancedAudioInfoLoadedboolWhether advanced audio info has been fetched.

FOBSSpecialInputs

Names of the default audio devices configured in OBS (any may be empty).

FieldTypeDescription
Desktop1FStringDesktop Audio input.
Desktop2FStringDesktop Audio 2 input.
Mic1FStringMic/Auxiliary Audio input.
Mic2FStringMic/Auxiliary Audio 2 input.
Mic3FStringMic/Auxiliary Audio 3 input.
Mic4FStringMic/Auxiliary Audio 4 input.

FOBSAudioChannelLevel

Per-channel audio levels from the high-volume InputVolumeMeters event. OBS sends linear multipliers (0 to 1) and the dB fields are derived from those.

FieldTypeDescription
MagnitudeMulfloatSmoothed magnitude, linear multiplier (0 to 1).
PeakMulfloatDecaying peak, linear multiplier (0 to 1).
InputPeakMulfloatInstantaneous input peak, linear multiplier (0 to 1).
MagnitudeDbfloatMagnitude in decibels (derived from MagnitudeMul).
PeakDbfloatPeak in decibels (derived from PeakMul).

FOBSInputVolumeMeter

Volume-meter readout for a single input within an InputVolumeMeters event. PeakDb/MagnitudeDb summarise the loudest channel.

FieldTypeDescription
InputNameFStringInput name.
InputUuidFStringInput UUID.
ChannelsTArray<FOBSAudioChannelLevel>Per-channel levels.
PeakDbfloatLoudest channel peak, in decibels.
MagnitudeDbfloatLoudest channel magnitude, in decibels.

Configuration

FOBSVideoSettings

OBS canvas and output resolution / frame-rate settings. Provides a GetFPS() helper.

FieldTypeDescription
FpsNumeratorint32FPS numerator (e.g. 60, or 30000 for 29.97).
FpsDenominatorint32FPS denominator (e.g. 1, or 1001 for 29.97).
BaseWidthint32Base (canvas) width in pixels.
BaseHeightint32Base (canvas) height in pixels.
OutputWidthint32Output (scaled) width in pixels.
OutputHeightint32Output (scaled) height in pixels.

FOBSProfileParameter

A profile parameter value and its default.

FieldTypeDescription
ParameterValueFStringCurrent value.
DefaultParameterValueFStringDefault value.

FOBSStreamServiceSettings

Stream-destination settings. Provides InitFromJson/ToJson and a C++-only RawSettings mirror.

FieldTypeDescription
StreamServiceTypeFStringService type ("rtmp_custom", "rtmp_common").
ServerFStringServer URL (for rtmp_custom).
KeyFStringStream key.
ServiceFStringService name for rtmp_common (e.g. “Twitch”).
bUseAuthboolWhether to use authentication.
UsernameFStringAuth username.
PasswordFStringAuth password.
RawSettingsTSharedPtr<FJsonObject>C++-only raw settings for advanced use.

Transitions

FOBSTransition

An OBS scene transition.

FieldTypeDescription
TransitionNameFStringTransition name.
TransitionUuidFStringTransition UUID.
TransitionKindFStringKind (e.g. "fade_transition", "cut_transition").
bTransitionConfigurableboolWhether it has settings.
bTransitionFixedboolWhether it is fixed-duration (like Cut).

FOBSCurrentTransitionInfo

Detailed info about the current scene transition.

FieldTypeDescription
TransitionNameFStringCurrent transition name.
TransitionUuidFStringCurrent transition UUID.
TransitionKindFStringTransition kind.
TransitionDurationint32Duration in ms (if not fixed).
bTransitionConfigurableboolWhether it has settings.
bTransitionFixedboolWhether it is fixed-duration.
TransitionSettingsJsonFStringSettings as a JSON string (Blueprint-friendly).
TransitionSettingsTSharedPtr<FJsonObject>C++-only parsed settings.

Filters

FOBSSourceFilter

A filter on a source.

FieldTypeDescription
FilterNameFStringFilter name.
FilterIndexint32Position in the source’s filter chain.
FilterKindFStringFilter kind (e.g. "color_filter", "chroma_key_filter").
bFilterEnabledboolWhether the filter is enabled.
FilterSettingsJsonFStringSettings as a JSON string (Blueprint-friendly).
FilterSettingsTSharedPtr<FJsonObject>C++-only parsed settings.

FOBSFilterKind

An available filter kind.

FieldTypeDescription
FilterKindFStringInternal name/identifier of the filter kind.

Screenshots

FOBSScreenshotRequest

Parameters for GetSourceScreenshot / SaveSourceScreenshot.

FieldTypeDescription
SourceNameFStringSource (input or scene) to capture.
SourceUuidFStringSource UUID (alternative to name).
ImageFormatFStringImage format (png, jpg, bmp, webp, and others, defaulting to png).
ImageWidthint32Scale width (-1 = native).
ImageHeightint32Scale height (-1 = native).
ImageCompressionQualityint32Quality 0 to 100 for lossy formats (-1 = OBS default).
ImageFilePathFStringAbsolute path on the OBS machine (Save only).

FOBSScreenshotResult

Result of GetSourceScreenshot (Base64 image data).

FieldTypeDescription
bSuccessboolWhether the capture succeeded.
ErrorMessageFStringError text on failure.
SourceNameFStringCaptured source.
ImageDataFStringBase64-encoded image data (includes data-URI prefix, can be large).

FOBSScreenshotSavedResult

Result of SaveSourceScreenshot.

FieldTypeDescription
bSuccessboolWhether the save succeeded.
ErrorMessageFStringError text on failure.
SourceNameFStringCaptured source.
FilePathFStringAbsolute path where the screenshot was saved.

General

FOBSStats

OBS performance/runtime statistics from GetStats. Frame counters are double because OBS reports them as JSON numbers that can exceed int32 over a long session.

FieldTypeDescription
CpuUsagedoubleCPU usage percentage (0 to 100).
MemoryUsagedoubleMemory used by OBS, in MB.
AvailableDiskSpacedoubleFree disk space on the recording device, in MB.
ActiveFpsdoubleCurrent render-thread FPS.
AverageFrameRenderTimedoubleAverage frame render time, in ms.
RenderSkippedFramesdoubleFrames skipped by the render thread.
RenderTotalFramesdoubleTotal frames processed by the render thread.
OutputSkippedFramesdoubleFrames skipped by the output thread.
OutputTotalFramesdoubleTotal frames delivered by the output thread.
WebSocketSessionIncomingMessagesdoubleTotal incoming messages this session.
WebSocketSessionOutgoingMessagesdoubleTotal outgoing messages this session.

FOBSPropertyItem

One entry of an OBS “list” property (e.g. the device dropdown of a capture source), from GetInputPropertiesListPropertyItems.

FieldTypeDescription
ItemNameFStringHuman-readable label shown in the dropdown.
bItemEnabledboolWhether the item is selectable.
ItemValueFStringThe item’s value (device id/path, with numbers and bools stringified).

Media Inputs

FOBSMediaInputStatus

Status of a media input (Media Source, VLC Source, etc.).

FieldTypeDescription
InputNameFStringMedia input name.
MediaStateEOBSMediaStateCurrent playback state.
MediaDurationint64Total duration in milliseconds.
MediaCursorint64Current cursor position in milliseconds.

Trigger Volume (Gameplay)

These structs configure the Trigger Volume actor.

FOBSTriggerAction

A single action executed when a trigger fires. Most fields are only relevant to certain ActionType values (gated by edit conditions in the editor).

FieldTypeDescription
ActionTypeEOBSTriggerActionTypeWhich action to perform.
SceneNameFStringScene name (SwitchScene, or the scene that contains the source for SetSceneItemEnabled).
InputNameFStringInput name for audio + media actions.
SourceNameFStringSource for SetSceneItemEnabled / SetSourceFilterEnabled.
FilterNameFStringFilter name for SetSourceFilterEnabled.
HotkeyNameFStringHotkey name for TriggerHotkeyByName (e.g. "OBSBasic.StartRecording").
MediaActionEOBSMediaInputActionMedia verb for TriggerMediaInputAction.
bMutedboolMute (true) / unmute (false) for SetInputMute.
bEnabledboolEnabled state for SetSceneItemEnabled / SetSourceFilterEnabled.
VolumeDbfloatVolume in dB for SetInputVolume (clamped -100 to 26).
DelaySecondsfloatOptional delay before executing the action.

FOBSAudioThresholdCondition

Condition: an OBS input is currently talking/idle (debounced mic-activity).

FieldTypeDescription
InputNameFStringInput to test (empty = condition ignored).
ModeEOBSAudioConditionModeRequire talking or idle.
ThresholdDbfloatPeak-dB threshold for the auto-registered detector (clamped -100 to 0, default -40).

FOBSSourceVisibleCondition

Condition: a named scene item (source) is currently visible/hidden. Reads the live bSceneItemEnabled cache. A cache miss fails the condition.

FieldTypeDescription
SceneNameFStringScene containing the source (empty = condition ignored).
SourceNameFStringSource whose visibility is tested (empty = condition ignored).
ModeEOBSVisibilityConditionModeRequire visible or hidden.

FOBSTriggerConditions

All conditions that must pass (AND logic) for a trigger to execute. Connection to OBS is always required and checked internally.

FieldTypeDescription
RecordingRequirementEOBSOutputStateRequirementGate on recording state.
StreamingRequirementEOBSOutputStateRequirementGate on streaming state.
RequiredCurrentSceneFStringOnly trigger if the current scene matches (empty = any).
ExcludedCurrentSceneFStringOnly trigger if the current scene does NOT match (empty = disabled).
AudioConditionsTArray<FOBSAudioThresholdCondition>Audio-threshold conditions. All must pass (empty = no gating).
SourceVisibleConditionsTArray<FOBSSourceVisibleCondition>Source-visibility conditions. All must pass (empty = no gating).

Sequencer

FOBSSequencerActionParams

Parameters for an OBS Sequencer action. Which fields are required depends on the action. See Sequencer Actions.

FieldTypeDescription
ActionEOBSSequencerActionThe action to perform.
TargetNameFStringPrimary target (scene/input/source name).
SecondaryTargetFStringSecondary target (filter name, scene-item id, …).
StringValueFStringString value (text, URL, file path, caption, setting name, …).
NumericValuefloatPrimary numeric value (X, volume dB, duration ms, …).
NumericValue2floatSecondary numeric value (Y, …).
NumericValue3floatTertiary numeric value (crop right, …).
NumericValue4floatQuaternary numeric value (crop bottom, …).
BoolValueboolBoolean value (enabled/visibility).

Helper methods: GetCategory(), GetTriggerType(), GetDisplayName(), and IsValid(FText& OutError). All query the action registry.

FOBSSequencerActionMetadata

Editor-side metadata describing one action’s parameters, labels, ranges, trigger type, and target-picker type. Returned by FOBSSequencerActionRegistry::GetMetadata. Not BlueprintType, so it is consumed by the Sequencer UI and validation only. Key fields include Action, Category, TriggerType, DisplayName, Description, TargetPickerType, the per-parameter bRequires* flags with matching *Label text, and numeric *Min/*Max ranges.