How to live-stream from OBS Studio to Unreal Engine

Live-stream both zero-latency (Spout) and over-the-network (NDI) from OBS Studio to Unreal Engine:
Written by Off World Live
Updated 1 year ago

You can now live-stream video, alpha and audio from OBS Studio direct to Unreal Engine using OBS as a media hub for your Unreal projects.

This works both in-Editor and at-Runtime and in packaged games!

  1. You need three different plugins to use the full range of possibilities:
    1. The Spout plugin for OBS Studio (for zero-latency streaming on a single machine). Installation guide here.
    2. The NDI plugin for OBS Studio (for streaming between different machines). Installation guide here.
    3. The Live-Streaming Toolkit for Unreal Engine (for streaming Spout and NDI into and out of Unreal). Installation guide here.
  2. Select any Source in OBS Studio and click the 'Filters' option which allows you to send video/ audio out of OBS via Spout and NDI:
  3. In the pop-up window click the '+' sign at the bottom left of the screen to add a filter. If you want to send via Spout, add 'Spout Filter', if you want to send NDI, add 'Dedicated NDI output'. You can give a name to your filter, in the box on the right, which is what you will see in Unreal Engine:
  4. Now go to Unreal Engine to create a receiver for your OBS feed. Go to the 'Select Actors' panel and drag-and-dropping an NDI or Spout Receiver Manager into your scene:
  5. Now go to the details panel of the Spout or NDI Receiver Manager and add a new Receiver by clicking the '+' sign: 
  6. In the Details panel, create/select a Render Target by clicking the drop-down list. This will receive the video that you are sending from OBS Studio:
  7. If you are using NDI and want to send audio as well, create an NDI SoundWave by clicking the drop down and then set up the Sound Wave as described here:
  8. Now use the drop-down list to select the input feed that you set-up in OBS and click 'Active' so that the feed is being received in Unreal Engine:
  9. You will now see the video feed from your OBS Filter in the thumbnail of your Render Target in Unreal. To insert the video feed into your Unreal level, find your Render Target in 'Content Browser' and right click on it to create a 'Material':
  10. You can drag and drop this material onto any asset in your level and your video feed will automatically appear.
  11. If you want to Chromakey your video in OBS then follow the additional steps here.
Did this answer your question?