Spout2 plugin for Unreal Engine 5 using DirectX 12.
This plugin adds Spout sender and receiver components for Unreal Engine. It works in the editor, in PIE, and in packaged builds based on the startup policy you choose.
Discord Server: https://discord.gg/BxHRHDdkNy
Beta release.
Tested on Windows with DX12:
- UE 5.2.1
- UE 5.4.4
- UE 5.6.1
- UE 5.7.2
You can donate to support the project here.
- Spout sender component
- Spout receiver component
- Render Target sender mode
- Game Viewport sender mode
- Editor Viewport sender mode
- Editor, game, and preview startup policies
- Optional double buffering for sender and receiver
- Manual Blueprint and C++ runtime control functions
- Property tooltips in the editor for sender and receiver settings
- Windows only
- DirectX 12 only
- Download the correct build from Releases
- Extract it into:
YourProject/Plugins/
- Open the project
- Enable the plugin if needed
The required DLLs are handled by the plugin. No manual engine copy step is needed.
Package the project normally. The plugin stages the required DLLs next to the packaged executable automatically.
SpoutSenderComponent sends frames from Unreal to any Spout receiver.
RenderTargetSends the render target assigned toCurrentRenderTarget.GameViewportSends the active game viewport.EditorViewportSends the active editor viewport.
Auto_StartStarts the sender automatically when the current world matches the selected startup policy.CurrentSenderNameThe published Spout sender name.SourceTypeSelectsRenderTarget,GameViewport, orEditorViewport.CurrentRenderTargetUsed only whenSourceTypeisRenderTarget.BroadcastFPSControls how often frames are sent.bUseDoubleBufferEnables double buffering for smoother frame pacing with extra memory use.StartupPolicyControls where the sender is allowed to start automatically.TickAfterActorOptional tick dependency if another actor must update first.
Editor | GameAllows start in editor and game worlds.Game OnlyAllows start only in game worlds.Editor | Game | Single PreviewAllows start in editor, game, and a single preview world.
StartBroadcast()Starts using the current sender component settings exactly as configured in the editor.StartBroadcastFromRenderTarget(RenderTarget, SenderName, FPS, bEnableDoubleBuffer)Starts from a render target and forces runtime startup behavior toGame Only.StartBroadcastGameViewport(SenderName, FPS, bEnableDoubleBuffer)Starts from the game viewport and forces runtime startup behavior toGame Only.StopBroadcast()Stops the sender.ChangeRenderTarget(NewRenderTarget)Changes the render target source.SetTickAfterActor(NewTickAfterActor)Sets the optional tick dependency actor.
StartBroadcast()uses the same configured settings path that auto-start uses.- The runtime override functions are intended for manual runtime control.
SpoutReceiverComponent receives frames from any Spout sender and writes them into a render target.
bAutoStartStarts the receiver automatically when the current world matches the selected startup policy.OutputRenderTargetThe render target that receives the incoming frame.TargetFPSControls how often the receiver tries to pull frames. Set to0for one frame then stop.SpoutSenderNameThe specific sender name to connect to. Leave empty to use the first available sender.bUseDoubleBufferUses internal double buffering to keep the output render target stable while new frames are copied in.StartupPolicyControls where the receiver is allowed to start automatically.
StartReceiving()Starts the receiver.StopReceiving()Stops the receiver.GetAvailableSenders()Returns available Spout sender names.IsConnected()Returns the current connection state.
CopiesPerSecondAverage copy operations per second.Flush1PerSecondAverage first-stage flush operations per second.FlushPerSecondAverage flush operations per second.ReconnectCountNumber of reconnects during the current session.MissedFramesNumber of missed frames during the current session.
- Add a
SpoutSenderComponentto an actor - Set
SourceTypetoRenderTarget - Assign
CurrentRenderTarget - Set
CurrentSenderName - Enable
Auto_Startor callStartBroadcast()
- Add a
SpoutSenderComponent - Set
SourceTypetoGameViewport - Set
CurrentSenderName - Enable
Auto_Startor callStartBroadcast()
- Add a
SpoutSenderComponent - Set
SourceTypetoEditorViewport - Set
CurrentSenderName - Choose
Editor | GameorEditor | Game | Single Preview - Enable
Auto_Startor callStartBroadcast()
- Add a
SpoutReceiverComponent - Assign
OutputRenderTarget - Set
SpoutSenderNameif needed - Enable
bAutoStartor callStartReceiving()
Current release: v2.0.1
If you hit an issue, open a GitHub issue and include:
- Unreal Engine version
- whether the issue happens in editor, PIE, or packaged build
- whether you are using sender or receiver
- logs or screenshots if possible
Or join the Discord server mentioned in the beginning and ask there.




