[UE5] Minimaps and Security Cameras with Render Targets: Putting a Camera Feed on Your UI

Created: 2026-07-25

How Scene Capture Component 2D and Texture Render Target 2D let you paint a camera feed onto UI or a material. Building a minimap, choosing Orthographic vs. Perspective, and controlling the cost of drawing the scene a second time — with a hands-on that builds both a minimap and a security monitor.

You want a minimap in the corner of the screen. A wall monitor showing another room. A character select screen where the chosen character spins in place.

All of these come from one mechanism: capture a camera feed and use it as a texture. In UE, that's Scene Capture Component 2D paired with Texture Render Target 2D. This article covers building that three-part setup, the settings specific to minimaps, and the cost — because this is a feature that's expensive if you don't know what it does.

A camera directly above the character feeding a minimap in the corner of the screen, with a soft blue clay figure

What You'll Learn

  • A Render Target is a texture you rewrite at runtime (you choose the update rate)
  • The three parts (capture, receiver, destination)
  • Putting it on a UMG Image
  • Orthographic for minimaps, Perspective for monitors
  • 🚨 Scene Capture draws the scene again (clear both Capture Every Frame and Capture on Movement)
  • Hands-on: build both a minimap and a security camera

Sponsored

A Render Target Is a Moving Texture

An ordinary texture is an image file with the picture baked in. Load it a thousand times and you get the same picture.

A Render Target is different. It's a texture you can rewrite at runtime — think of it as a box holding whatever a camera captured.

How often it gets rewritten is up to you. It updates every frame by default, but as you'll see below, that frequency is the cost, so in practice you deliberately thin it out.

An ordinary texture holds a fixed image, while a Render Target's contents are rewritten each frame by a camera

Because it's a texture, it works everywhere a texture works. You can put it in a material, or on a UMG Image. Which is why all of these come from the same setup:

What you buildWhat it capturesWhere it goes
MinimapTerrain from directly above the characterA UMG Image
Security monitorAnother roomA material on a wall mesh
Character select previewA character on a pedestalA UMG Image
Rear-view mirrorBehind the carA material on a mirror mesh

The Three Parts

You need exactly three things: something to capture, a receiver, and a destination.

Scene Capture Component 2D captures, Texture Render Target 2D receives, and a Material or UMG Image displays — a three-stage flow
#NameRole
1Scene Capture Component 2DThe capturer. A camera-like component
2Texture Render Target 2DThe receiver. The asset the feed lands in
3Material or UMG ImageThe destination. Displays the receiver's contents

The procedure:

  1. In the Content Browser, right-click → Texture → Render Target (name it RT_Minimap). It's pure black at first
  2. Add a Scene Capture Component 2D to an Actor
  3. In that component's details panel, set Texture Target to the Render Target from step 1

That third step is the connection. The moment you assign the receiver to Texture Target, its contents start updating.

Double-click the Render Target in the Content Browser and you'll see the live feed. If it stays black, either Texture Target isn't set or the camera is pointed at nothing.

Resolution is set on the asset. Configure Size X / Size Y in the Render Target's details. 512×512 is plenty for a minimap; 256×256 for a small monitor. Bigger costs more, so keep it minimal.

Sponsored

Putting It on the UI

For something like a minimap that lives on screen, use a UMG Image.

A UMG Image's Brush takes a texture directly. A Render Target is a texture, so it goes straight in.

Assigning a Render Target directly to a UMG Image widget's Brush is all it takes to show the feed
  1. Place an Image in a Widget Blueprint
  2. In the details panel, set Appearance → Brush → Image to your Render Target
  3. Adjust size and position (top-right, bottom-left, wherever)

That's it. The camera feed is now on your UI.

For something projected onto a mesh in 3D space, like a wall monitor, go through a material. Create one, drop the Render Target in as a Texture Sample node, and wire its output to Emissive Color. Emissive is the right pin because a monitor should look like it's emitting its own light (→ Material Basics).


Minimap Settings

Two settings on Scene Capture Component 2D are enough to make a minimap work.

First, Projection Type.

Perspective shrinks distant enemies and distorts the ground, while Orthographic keeps everything the same size so positions read accurately
TypeHow it looksGood for
PerspectivePerspective applies (distant things shrink)Security cameras, mirrors, character previews
OrthographicNo perspective (everything the same size)Minimaps, blueprint-style overhead views

Minimaps use Orthographic. With perspective, enemies near the edge of the view shrink and skew, and positions stop reading accurately. Orthographic behaves like a real top-down map: distance and direction come through unchanged.

With Orthographic, the covered area comes from Ortho Width. That number is your minimap's scale. Bigger shows more, smaller zooms in.

Second, whether the camera follows the character's rotation.

Parent the camera to the character and place it overhead and position follows automatically. The choice is about rotation.

ApproachHow it readsSuits
Rotation followsYou always face upAction. Intuitive while moving
Rotation fixedNorth stays upExploration. Easier to memorize the layout

Both are valid. To keep it fixed, enable Absolute Rotation in the component's details so it ignores the parent's rotation.


🚨 About the Cost

This is the most important section in the article.

Scene Capture Component 2D draws the scene a second time. Once for the main camera, once for the capture. Dropping one in roughly doubles your render cost.

The Scene Capture draws the scene again on top of the main camera's pass, stacking up render cost

Two Scene Captures means three passes. "It got slow the moment I added both a minimap and a security camera" is exactly the arithmetic working out.

There are three ways to control it, in order of impact.

MeasureHowImpact
Stop automatic captureTurn off both Capture Every Frame and Capture on Movement, then call Capture Scene only when neededLargest. Every 0.2 s is plenty for a security camera
Lower the resolutionShrink the Render Target's Size X / YLarge. 1024256 is 1/16 the pixels
Capture lessTurn off unneeded elements (particles, fog, depth of field) in Show FlagsMedium to large. A minimap doesn't need fog

Capture on Movement is the one that gets missed. There are two checkboxes to clear for manual updates.

SettingDefaultWhat it does
Capture Every FrameOnCaptures every frame
Capture on MovementOnCaptures whenever the camera moves

Clear only Capture Every Frame and a minimap sees no benefit at all. The minimap camera is a child of the player, so it moves whenever you walk. Capturing on every move is barely different from capturing every frame.

Clearing only Capture Every Frame still captures on every move via Capture on Movement, so both need to be off

With both off, capture happens only when Blueprint calls Capture Scene. Firing that from Set Timer by Event every 0.1–0.2 seconds looks essentially identical at a fraction of the cost (→ Designing Without Tick).

To see the actual cost, watch Draw and GPU in stat unit (→ the stat commands). Measure before and after adding the Scene Capture.

Sponsored

Hands-On: A Minimap and a Security Camera

An ARPG minimap, a stealth game's security monitor, a racing game's rear-view mirror. Same three parts, different settings. Let's build two contrasting cases so the settings make sense in your hands.

What we're building

① Minimap② Security camera
Where it captures1500 above the playerAnother room's ceiling
Projection TypeOrthographicPerspective
Ortho Width3000.0(unused)
Render TargetRT_Minimap (512×512)RT_SecurityCam (256×256)
DestinationUMG Image (top-right)Material on a wall mesh
Capture Every FrameOffOff
Capture on MovementOffOff
Capture intervalCapture Scene every 0.1 severy 0.2 s
The minimap captured Orthographically from overhead into the top-right UI, alongside the security camera capturing another room in Perspective onto a wall monitor

① The minimap

  1. Create RT_Minimap (right-click → Texture → Render Target, Size X/Y = 512)
  2. Add a Scene Capture Component 2D to the player Blueprint at Location = (0, 0, 1500), Rotation = (0, -90, 0) (pointing straight down)
  3. In its details: Texture Target = RT_Minimap, Projection Type = Orthographic, Ortho Width = 3000.0, and both Capture Every Frame and Capture on Movement off (it's a child of the player, so leaving Capture on Movement on captures every time you walk)
  4. Place an Image in a Widget Blueprint, set its Brush to RT_Minimap, and anchor it to the top-right
  5. On the player's Event BeginPlay, add Set Timer by Event (Time = 0.1, Looping = true) and call Capture Scene (Target: the Scene Capture Component) from that event

② The security camera

  1. Create RT_SecurityCam (Size X/Y = 256)
  2. Place an empty Actor in another room, add a Scene Capture Component 2D, and aim it down at the room
  3. Set Texture Target = RT_SecurityCam, leave Projection Type on Perspective, and turn both Capture Every Frame and Capture on Movement off
  4. Create a material M_Monitor, feed RT_SecurityCam through a Texture Sample into Emissive Color
  5. Apply M_Monitor to a flat mesh on the wall
  6. On that Actor's Event BeginPlay, call Capture Scene from a Set Timer by Event (Time = 0.2)
A two-row completed node graph: the top row "Stop automatic capture" covers Scene Capture Component 2D, Capture Every Frame false and Capture on Movement false, wrapping into the bottom row "Capture on a timer" with Event BeginPlay, Set Timer by Event and Capture Scene

As read-aloud pseudocode:

BP_Player (Event Graph)
Event BeginPlay
  → Set Timer by Event (Time = 0.1, Looping = true)
      └→ bound to custom event "UpdateMinimap"

UpdateMinimap (Custom Event)
  → Capture Scene (Target: SceneCapture2D)

Checking it

Hit Play and look at the top-right. If it worked, there's a top-down view of the terrain with you at its center. Walking makes the terrain flow past while you stay centered. Change Ortho Width from 3000 to 1500 and the visible area halves and zooms in.

The security camera should show the other room on the wall monitor. Put a moving Actor in that room and it moves inside the monitor too.

Finally, bring up stat unit and check Draw and GPU. Even with two Scene Captures, the numbers shouldn't spike much as long as both checkboxes are off. Now turn just the minimap's Capture on Movement back on and walk around. The numbers rise even with Capture Every Frame still off. That's why you clear both.

Troubleshooting:

  • The minimap is blackTexture Target isn't set, or you disabled automatic capture and never called Capture Scene
  • You disabled it but nothing got fasterCapture on Movement is still on. On a player-following camera, that alone is equivalent to capturing every frame
  • Everything renders except your character → The overhead camera is too close and the character is inside the near clip plane. Raise its Z
  • The edges look skewedProjection Type is still Perspective. Minimaps want Orthographic
  • It suddenly got heavyCapture Every Frame is on, or the resolution is too high

Two things to take away.

  • Capture frequency is the cost: turning off both Capture Every Frame and Capture on Movement and thinning with a timer is the single most effective optimization here. 0.1 s for a minimap and 0.2 s for a monitor look virtually identical
  • Choose Orthographic vs. Perspective by "map or view": Orthographic when positions must read accurately, Perspective when you want the actual camera view. Perspective on a minimap makes it harder to read

To go further by drawing less, LOD and culling takes over.


Bonus: Good to Know for Later

Character select previews are the same setup. Put a pedestal and a character somewhere nobody goes, capture it with a Scene Capture Component 2D, and show it in UMG. "Spin the character to show it off" just means rotating the character being captured.

It's also the doorway to portals. A door you can look through is an extension of the same idea: put a camera on the far side, capture it, apply it to the door's material. It's a step harder, because the camera has to move with the player's viewpoint.

Canvas Render Target 2D is a different route. Rather than capturing a camera, you draw lines and shapes into it yourself. For "a minimap that's just dots for enemy positions," this is far cheaper than capturing a scene. Worth considering when you don't need the terrain rendered.

Show Flags are a goldmine. The Scene Capture Component 2D details panel has a checklist of what to render (Show Flags). For a minimap you can switch off particles, fog, depth of field, and bloom entirely. Looks the same, costs less — the most satisfying kind of optimization.


Summary

  • A Render Target is a texture you can rewrite at runtime, usable anywhere a texture is. You choose the update rate
  • The three parts are Scene Capture Component 2D (capture) + Texture Render Target 2D (receiver) + Material / UMG Image (destination)
  • Minimaps use Orthographic with Ortho Width for scale; monitors use Perspective
  • 🚨 Scene Capture draws the scene again. Turning off Capture Every Frame and Capture on Movement, then thinning, comes first
  • Lowering resolution and trimming Show Flags both help

One mechanism, and the settings turn it into a minimap, a security monitor, or a preview screen. Which one do you want to build first?