How to live-stream from Unreal Engine to OBS Studio

Live-stream both zero-latency (Spout) and over-the-network (NDI) from Unreal Engine to OBS Studio:
Written by OWL
Updated 5 months ago

You can now live-stream video, alpha and audio from Unreal Engine direct to OBS Studio without using screen capture meaning you can live-stream while working in or playing your Unreal project!

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. In your Unreal Project, select the Off World icon at the top of the Editor view and click 'Live-Stream Wizard':
  3. The Wizard will let you set up a Cinecam in Unreal which outputs to a Render Target for automatic streaming from Unreal Engine via Spout or NDI:
  4. If you now go to OBS Studio and create an you will be able to add a new 'Spout2 Capture' or 'NDI Source' option in your Sources panel:
  5. Selecting one of these options will pop-up a screen with a drop down of your Spout or NDI Senders. Select the name you gave to your Live-Stream Wizard in Unreal and click 'OK' and you will now see your Unreal project streaming direct into OBS!
  6. If you are are sending alpha from Unreal via Spout then in the 'Composite Mode' setting you need to select 'Premultiplied Alpha':
  7. Because the streaming is happening in the background you have complete control of your Unreal Editor and can continue to work on your project while streaming!

N.B. you don't have to use the Live-Stream Wizard!

  1. The Live-Stream Wizard creates two things:
    1. An OWL Cinecam which is an Unreal Cinecam with a Render Target and alpha/ HUD capabilities.
    2. An NDI/ Spout Sender Manager which can live-stream any Unreal Engine Render Target to Spout or NDI.
  2. You could create your own OWL Cinecam/ Capture Component or create a Render Target from Unreal features like Composure or Virtual Camera.
  3. Then just select the Render Target from that feature by adding a new Array in the Spout/ NDI Sender Manager.
  4. Any 'Active' Render Targets in the Spout/ NDI Sender Manager will automatically appear in your Spout/NDI Sources list in OBS Studio.
  5. Remember that the more active cameras you add, the more GPU resources you are using so see clever performance optimisations here!
Did this answer your question?