/Spout-UE4

Spout Plugin for Unreal Engine

Primary LanguageC++

Modification of original plugin by AleDel with UE versions 4.19+.

Spout-UE4

This is a Spout Plugin for Unreal Engine. It allows you to send and receive textures using Spout framework.

Sender and Receiver only DirectX 11.

This was tested with:

  • 4.19
  • 4.20
  • 4.21
  • 4.22
  • 4.23

Installation and Use

  1. Open up Epic Games Launcher (make sure it's up to date).

  2. Create a new C++ First person Project.

Image 1

  1. You should see it Generating code...

Image 2

  1. The Unreal project will open in the editor, and a Visual Studio project will also open.

Image 3

  1. Close the Unreal project.

  2. In the project directory, create a Plugins folder.

Image 4

  1. Download the Spout-UE4 repository (zip file) and put it in the Plugins directory.

Image 5

  1. (Optional) Download ExampleSpout.zip (from the project GitHub page). Unzip the contents into the Content folder.

Image 6

  1. In the project directory, open the .uproject file. Press Yes when asked if you'd like to rebuild the SpoutPlugin module.

Image 7

It will start to build.

Image 8

  1. Once the project opens, go to Settings > Plugins.

Image 9

  1. Make sure the Spout Plugin is enabled. If necessary, restart.

Image 10

  1. (Optional) Open the ExampleSpout > Spout project and press Play. Configure the Sender and Receiver names to work with other software.

Image 11

For video instructions, please refer to Unreal Engine 4 and Lightact Video Tutorials, which provides a good step-by-Image walkthrough of how to set up your project for use with the plugin.

Sending Spout

This is done with the Spout sender node which has can send texture either from the Game viewport or from a Render Targert 2D:

  • Game Viewport sends the image of the viewport, but please note that it doesn't work in standalone or packaged game.
  • TextureRenderTarget2D in which case you should create a SceneCaptureComponent2D and a Render target 2D which you should reference in the node.

use Close Sender node to close Spouts. The best way is to connect it to Event EndPlay node.

Install Example

  • Create new C++ First Person project
  • unzip ExampleSpout.zip in the "Content" folder of your project
  • unzip code plugin in folder "Plugins" as mentioned above, if there is no "Plugins" folder, create it
  • restart project
  • load Spout scene
  • if you encounter compile errors you have to delete and re-insert identical nodes

ExampleSpout.zip (Updated on 9/22/2019)

CaptureSpout2 This image corresponds to the "Spout" scene.

Packaged game

To make this plugin work in a packaged game you have to disable using 'pak' files. You do that by:

  1. going to File->Package project->Packaging settings
  2. once there uncheck 'Use Pak File' checkbox

This is only necessary if you are using the Mat pin on the Spout Receiver node.