Kill the Middleman: Chroma Keying Green Screen Footage Directly Inside Unreal Engine with NDI
NDI SDK & Unreal Engine - Green Screen & Chroma Key WITHOUT OBS (4K) - Virtual Production - UE4
You've been routing your green screen feed through OBS or vMix... adding a whole extra layer of software, latency, and headache... just to key out a color. What if I told you Unreal Engine can handle that itself? No external tools. No extra steps. Just the engine, your NDI stream, and a material node called MF Chromakeyer that changes everything.
The Setup Nobody Told You About
Ninja Rama's latest tutorial drops a workflow that strips the fat off real-time compositing. The core idea is simple: pipe your NDI video streams straight into Unreal Engine, key the green screen inside the engine using native material nodes, and skip OBS entirely.
That's not a minor tweak. That's removing an entire application from your pipeline.
The prerequisites are straightforward. Grab the NDI Tools from ndi.tv. Download the NDI SDK for Unreal Engine 4.24. Copy the NDI IO Plugin into your engine's Plugins folder. Enable it. Restart. You're in.
Building the Signal Path
Here's where the craft lives. You create two assets in your Content Browser:
1. An NDI Media Texture 2D (your video canvas) 2. An NDI Media Receiver (your signal grabber)
Link the receiver to the texture. Drop a basic plane into your scene... not the NDI Receive Actor that ships with the plugin. Ninja Rama discovered the hard way that the pre-built actor is limited in parameters. A simple plane with a custom Blueprint gives you full control.
The Blueprint itself connects through a clean chain: Event BeginPlay → Find Network Source by Name → Branch → Start Receiver. You feed it the exact stream name from your NDI Studio Monitor... case sensitive, spaces and parentheses included. Compile. Hit play. Your live video feed appears on that plane in the viewport.
Small detail that'll save you twenty minutes of confusion: make sure to assign your NDI Media Receiver in the component's NDI Media Source field. Without that link, you get a blank plane and a lot of staring at your screen wondering what went wrong.
The Chroma Key That Lives in Your Material
This is the part that matters most.
Open the material that was auto-created when you dragged the texture onto the plane. Inside, you'll find two nodes: your NDI Media Texture 2D and a Texture Sample. Disconnect the default wiring. Add a third node... the MF Chromakeyer.
Three connections: - RGB → Input Color - Emissive Color → Emissive Color - Opacity → both Opacity AND Opacity Mask
Set the Blend Mode to Translucent. Save.
But here's the hidden gem that Ninja Rama stumbled onto by pure experimentation: the keying parameters only appear when you create a Material Instance. The base material shows you nothing useful. Right-click the material, choose Create Material Instance, and suddenly you have access to color selection, alpha controls, and luma masking. BAM... your green screen controls are right there inside the engine.
Pick your green with the color picker eyedropper. Click the green in your footage. The background vanishes. Clean edges. No external software.
The Shadow Hack That Shouldn't Work But Does
Translucent materials in Unreal Engine don't cast shadows. Period. That's a known limitation. And if you switch to a Masked Material blend mode, you get shadows... but your keyed edges look like they were cut with safety scissors. Pixelated. Rough.
Ninja Rama's solution is beautifully scrappy. Stack two planes:
1. Bottom plane: Your translucent material with the clean chroma key (visible to camera, no shadows) 2. Top plane: A masked material version (hidden from camera using Actor Hidden In Game, but allowed to cast shadows via the Hidden Shadow setting)
The masked plane casts the shadow. The translucent plane shows the clean edges. The audience sees both effects and neither hack. That's the kind of problem-solving that separates someone who reads documentation from someone who builds things.
Running Multiple Streams
Need a second NDI source? You can't just duplicate your existing assets. Each stream requires its own independent set built from scratch: receiver, texture, material, material instance, blueprint. The tutorial demonstrates two simultaneous streams composited in the same scene... proof that this scales for actual production work.
Bonus: Vive Tracker as Virtual Camera
The tutorial closes with a bonus setup for controlling your Virtual Camera with an HTC Vive Tracker. This opens the door to physically moving through your composited scene... bridging the gap between virtual production stages and indie setups that run on creativity more than budget.
Why This Matters
Every tool you remove from your pipeline is one less thing that can break during a live shoot. One less application eating resources. One less point of failure between your camera and your final composite.
This workflow isn't about being anti-OBS. It's about understanding that Unreal Engine is more capable than most of us realize... and that sometimes the best discoveries come from ignoring the quick start guide and experimenting until something clicks.
The next time you're setting up a green screen workflow, ask yourself: how many layers am I adding that the engine can handle on its own? Strip it down. Experiment with the material nodes. Build the Blueprint from scratch instead of relying on pre-built actors. The cleanest pipeline is the one with the fewest moving parts... and the best solutions often come from someone who got frustrated enough to try something the documentation never mentioned. 🛠️
--- Source: https://www.youtube.com/watch?v=Vwr1MMVBqo0
From TIG's Notebook
Thoughts that surfaced while watching this.
I've missed more than 9000 shots in my career. I've lost almost 300 games. 26 times, I've been entrusted to take the game winning shot and missed. I've failed over and over and over again in my life. And that is why I succeeded. — *Michael Jordan*— TIG's Notebook — On Failure & Perseverance
The mediocre teacher tells; the good teacher explains; the superior teacher demonstrates; the great teacher inspires. — *William Arthur Ward*— TIG's Notebook — On Mentorship & Teaching
That's the funny thing about hope. Nobody else gets to decide if you feel it. That choice belongs to you. — *K-Pop Demon Hunters*— TIG's Notebook — Core Principles
Echoes
Wisdom from across the constellation that resonates with this article.
Start a simple capture habit: never let an insight live only in your head
In nature, there is no pure black or pure white, the same way there is no pure nothing or pure everything.
PATH TRACER Explained - Unreal Engine's Underrated Tool - The first 1,000 people to use this link will get a 1 month free trial of Skillshare: https://skl.sh/williamfaucher08211 This tutorial is all about the new & improved Path Tracer renderer in Unreal Eng