Reading a .mp4 directly onto a Render Target without a RenderTexture?

Hi !
I’m wondering of there is a way that I could play a video directly onto a Render Target, without having to go through a Media Player → Media Texture →Copy onto the Render Target ?

My goal is to use the video as an input for a compute shader to drive the position Niagara Particles, but I suspect that there is some form of color conversion that takes effect in the Media Player pipeline, because the niagara is wonky using Unreal, while the same shader works fine in Unity.

What it should look like, note the floor is flat

and what I get in Unreal, note the floor

And here is the same Niagara with a Gamma Correction, better but the flor is still not flat

I am on UE5.6 if it is relevant. thx for reading me !

In Unreal Engine, you can’t directly read an .mp4 file into a Render Target without using some form of video decoding texture.

The correct approach is:

  • Use a Media Player

  • Connect it to a Media Texture

  • Then feed that Media Texture into a Material

  • Finally, apply the Material to your Render Target (via Draw Material to Render Target or UI)

So the pipeline is:
MP4 → Media Player → Media Texture → Material → Render Target

Without a Media Texture (or equivalent decode step), Unreal has no way to decode video frames into GPU-readable data in real time.

If you need full control, you’d have to write a custom decoder, which is not practical in standard UE workflow.