Why does my video stop playing when I switch levels in Unreal Engine?

Hi everyone! I’m a beginner learning how to use the Media Framework in Unreal Engine to play videos in my scene. I successfully created a MediaPlayer, a MediaTexture, and assigned it to a material that’s applied on a plane. Everything works great when I start the level — the video plays smoothly.

However, when I switch to another level using OpenLevel, and then return to the original level, the video either doesn’t play or just freezes on the first frame. I’ve tried calling Play() again on the MediaPlayer in BeginPlay, but it doesn’t seem to work consistently.

Here’s what I’ve tried so far:

  • Checked if the MediaPlayer is still valid after switching levels (sometimes it’s not).
  • Tried setting the MediaPlayer to auto-reopen or loop.
  • Used PlayOnOpen and manually reopened the source.

Do I need to make the MediaPlayer persistent somehow? Is this a common issue with level streaming or garbage collection?

If anyone has experience handling media across level transitions, I’d love to hear how you manage it — especially best practices for keeping media playback stable between levels. Thanks a lot!