Technical Guide April 2026

Unreal Engine Video Recording
Every Method Compared

There are five ways to record video from Unreal Engine. Each works in a different context and fails in the others. This guide covers what actually works, where, and why.

12 min read For UE Developers & Technical Directors

1. The Recording Problem in Unreal Engine

Unreal Engine does not ship with a built-in way to record gameplay video in a packaged game. The editor has Movie Render Queue and the Replay System, but neither produces an MP4 that works in a shipping title on all platforms.

This matters because recording video at runtime is a requirement for a growing number of use cases: QA testing, instant replay features, bug reporting, content creation, VR training footage, and CI/CD pipelines. Each of these has different constraints around platform support, performance overhead, and whether the recording happens in the editor or in a packaged build.

The approaches available today fall into five categories. Each solves part of the problem and ignores the rest.

2. Movie Render Queue

EDITOR ONLY OFFLINE

Movie Render Queue (MRQ) is Epic's tool for rendering high-quality cinematic sequences. It renders frames at whatever rate it needs, which means it can produce output at higher quality than real-time but takes longer to complete. A 30-second sequence might take 10 minutes to render.

Good for

  • Cinematic trailers and marketing materials
  • Pre-rendered cutscenes
  • Architectural visualization walkthroughs

Does not work for

  • Recording gameplay in a packaged game
  • Real-time capture (it is not real-time)
  • Mobile, VR, or console platforms
  • Anything outside the editor

If you need a polished cinematic rendered from a Sequencer track, MRQ is the right tool. If you need to record what a player is doing in your shipped game, it is not an option.

3. Replay System

RUNTIME NO VIDEO OUTPUT

Unreal's Replay System records network data and gameplay events, then replays them by re-simulating the game. It was built for kill cams and match replays in multiplayer games. It does not produce a video file.

Good for

  • Kill cams and match replay viewers in multiplayer games
  • Debugging network replication issues
  • Free-camera spectator replays

Limitations

  • Output is a replay file, not an MP4. Players cannot share a video.
  • Requires the game to re-simulate the recorded data. Heavy on memory and CPU.
  • Non-replicated state (particles, audio, UI) may not replay accurately.
  • Complex to set up for non-multiplayer games.

The Replay System is useful if you want an in-game replay viewer. It is not a video recording solution. If your goal is to produce an MP4 file that a player can upload or a QA tester can attach to a bug report, you need something else.

4. External Tools (OBS, ShadowPlay, Game Bar)

DESKTOP ONLY USER-INSTALLED

OBS Studio, NVIDIA ShadowPlay, and Windows Game Bar capture video at the OS or GPU driver level. The player or developer installs them separately and runs them alongside the game.

Good for

  • Developers recording footage during development on their own PC
  • Streamers and content creators who already have OBS configured

Does not work for

  • Your players. You cannot ship OBS inside your game.
  • Mobile (Android, iOS). No external capture tools exist.
  • VR headsets. Screen capture does not reach the eye buffers.
  • CI/CD servers. OBS requires a display.
  • Programmatic control. You cannot call "start recording" from Blueprints.

External tools solve the problem for the developer sitting at a desk. They do not solve it for the shipped game, automated tests, or any non-desktop platform.

5. FFmpeg Wrappers

PLUGIN EXTERNAL DEPENDENCY

Several Marketplace plugins wrap FFmpeg to encode video from within Unreal Engine. They pipe raw frames to an FFmpeg process which encodes and muxes them into a video file.

Good for

  • Desktop recording where you can bundle FFmpeg binaries
  • Projects that need specific codecs FFmpeg supports

Trade-offs

  • Licensing. FFmpeg is LGPL/GPL depending on configuration. Bundling it in a commercial game requires careful legal review.
  • Binary distribution. You need to ship FFmpeg executables for each target platform. Console and mobile platforms complicate this.
  • Software encoding. Most FFmpeg wrappers use CPU-based encoding (libx264), which competes with the game for CPU time. Hardware encoder access through FFmpeg requires additional platform-specific configuration.
  • Crash safety. If the game crashes, the FFmpeg process may not finalize the file. Corrupted output is common.
  • Mobile. Running a separate FFmpeg process on Android or iOS is impractical.

FFmpeg wrappers work on desktop if you accept the licensing complexity and CPU overhead. They struggle on mobile, break on crash, and add deployment friction.

6. Native Recording (Runtime Video Recorder)

RUNTIME ALL PLATFORMS NO DEPENDENCIES

This approach captures frames directly from Unreal Engine's render pipeline and encodes them using the platform's native hardware encoder. No external process, no FFmpeg, no display required.

Runtime Video Recorder (RVR) is the implementation of this approach. It works by reading frames from the GPU backbuffer or a render target, feeding them to the platform's hardware encoder (Windows Media Foundation on Windows, AVFoundation on Mac/iOS, MediaCodec on Android), and writing the output to an MP4 file.

What this means in practice

Hardware encoding

The GPU's dedicated encoder chip does the work, not the CPU. Near-zero overhead instead of 15-30% with software encoding.

No external binaries

Uses APIs already present on every OS. Nothing to bundle, no license to audit.

Cross-platform

Same Blueprint and C++ API on Windows, Mac, Linux, Android, iOS, and Meta Quest.

Crash safe

Continuous MP4 muxing means the file is valid even if the process terminates unexpectedly.

Recording modes

RVR captures from multiple sources depending on what you need:

Viewport

Records what the player sees. Works for standard gameplay recording, instant replay, and QA testing.

Render Target

Records from a scene capture component or render target. Required for VR (where there is no single viewport) and useful for security camera mechanics, picture-in-picture, and multi-camera setups.

Camera

Records from a specific camera actor. Useful for cinematic replay angles and spectator views.

Replay buffer (instant replay)

RVR keeps a rolling buffer of the last N seconds of gameplay. When something worth saving happens, call SaveReplayBuffer() and the buffer is written to disk as a complete MP4. No retroactive encoding, no rewinding. The video is ready immediately.

This is how instant replay features, highlight saves, and automated bug capture work. The game is always recording; you just choose when to keep the footage.

7. Full Comparison

Feature MRQ Replay System OBS / ShadowPlay FFmpeg Plugin RVR
Produces MP4 EXR/PNG No Yes Yes Yes
Works in packaged game No Yes External Desktop only Yes
Mobile (Android/iOS) No Replay only No No Yes
VR (Meta Quest) No Replay only No No Yes
Hardware encoding N/A N/A Yes Rarely Yes
Performance overhead Offline 10-20% 5-15% 15-30% <1%
Blueprint API Editor only Yes No Varies Yes
Instant replay buffer No Yes ShadowPlay No Yes
External dependencies None None Separate app FFmpeg binaries None
Headless / CI-CD No Partial No Partial Yes
Crash recovery No Partial Partial No Yes

8. Which Method for Your Use Case

"I need a cinematic trailer from a Sequencer animation"

Use Movie Render Queue. It renders at maximum quality with full post-processing, motion blur, and path tracing. Real-time performance does not matter.

"I need a kill cam or match replay viewer in my multiplayer game"

Use the Replay System. It records game state for re-simulation, which lets players scrub through time and change camera angles. If you also need a shareable video, combine it with RVR to encode the replay playback to MP4.

"I'm a developer and I want to record my screen while testing"

Use OBS or ShadowPlay. They're free, well-documented, and work for personal desktop recording. They just don't help with anything you ship.

"I need video recording in my shipped game"

Use Runtime Video Recorder. It is the only option that produces MP4 files from inside a packaged Unreal Engine game across desktop, mobile, and VR platforms without external dependencies.

"I need instant replay, highlight saves, or always-on QA recording"

Use Runtime Video Recorder with the replay buffer enabled. It continuously records the last N seconds and writes to MP4 on demand. No re-simulation, no delay.

"I need video from automated tests in a CI/CD pipeline"

Use Runtime Video Recorder. It runs headless, requires no display, and recovers video even if the test crashes. See the CI/CD guide.

Summary

Movie Render Queue and the Replay System solve specific problems well. External tools work for developer desktops. But if you need actual video recording in Unreal Engine at runtime, across platforms, in a packaged game, there is one tool that does it.

Runtime Video Recorder ships with no dependencies, uses hardware encoders on every platform, handles crash recovery, and provides a Blueprint and C++ API that works identically on Windows, Mac, Linux, iOS, Android, and Meta Quest. It is trusted by Amazon Games and 50+ studios.

Frequently Asked Questions

What is the best way to record video in Unreal Engine?

It depends on what you are building. For offline cinematics, use Movie Render Queue. For shipped games that need video recording at runtime on any platform, Runtime Video Recorder is the only solution that covers desktop, mobile, and VR with hardware encoding and no external dependencies.

Can you record video in Unreal Engine without FFmpeg?

Yes. RVR uses native platform APIs for encoding: Windows Media Foundation, AVFoundation on Mac and iOS, and MediaCodec on Android. There are no FFmpeg binaries, no codec packs, and no GPL licensing concerns.

How do you record gameplay video on mobile in Unreal Engine?

External screen recorders do not work for this purpose on mobile. You need a recorder that captures frames directly from the render pipeline and encodes them on the device. RVR does this on both Android and iOS with the same API you use on desktop.

Does recording video in Unreal Engine affect performance?

The impact varies by method. Movie Render Queue is offline and not real-time. OBS adds 5-15% overhead. FFmpeg wrappers using software encoding add 15-30%. RVR uses hardware encoders on the GPU's dedicated encoding chip, resulting in near-zero overhead. The game's framerate is not affected in any meaningful way.

Can you record VR gameplay in Unreal Engine?

Standard screen capture tools cannot access VR eye buffers. You need to capture from a render target or scene capture component inside the engine. RVR supports render target recording on Meta Quest and other VR platforms, which is the only way to get video from a VR headset without external hardware.

Runtime Video Recorder works on every platform Unreal Engine supports. No FFmpeg. No external tools. One Blueprint node to start recording.

Get Runtime Video Recorder Documentation →
© Unreal Solutions Ltd. Registered in England and Wales No. 14451923. All Rights Reserved 2026