A minimap in the screen corner shows the surrounding paths. A security monitor on a room's wall shows somewhere distant. They look different, but thinking of both as "pasting footage shot by another camera" means the same mechanism builds them.
What holds that footage is a Render Target . Here we add a minimap viewing the player from directly above to the Third Person template. Once the footage displays, we tune the update frequency and finally apply it to an in-game monitor.
What You'll Learn
- The roles of Scene Capture, which captures, and Render Target, which receives
- Building a minimap that follows the player while keeping the facing fixed
- What changes when you vary capture range, resolution, and update frequency
- Displaying footage on an in-game monitor with the same mechanism
This assumes you can add components and connect nodes in Blueprint. UI and material settings are shown step by step. To review the basics, see UMG fundamentals and material fundamentals. The exercise targets single player.
A Render Target is a receptacle for footage
An ordinary texture loads a prepared image. A Render Target is a texture you can write images into while the game runs . Here it receives new scenery on every capture.
The Render Target does not capture by itself. A Scene Capture Component 2D , which plays the camera's role, captures the scene and hands the result to the Render Target. Scene Capture can capture from a viewpoint separate from what the player normally sees.

The roles are "capture, store, display". Stopping capture leaves the last image in the Render Target, so the display becomes a still. Conversely, displaying the same Render Target on several monitors needs no extra capture camera per monitor.
Remembering that division lets you separate "capture is failing" from "the display setting is wrong" when nothing appears.
Attach a capture camera above the player
Build this in a Third Person test level with no roof overhead. Placing a few marker boxes on the ground makes the visible range and orientation easier to confirm later.
Prepare the footage's destination
Right-click in the Content Browser and create "Materials & Textures → Render Target". Name it RT_Minimap , open it, set "Size X" and "Size Y" to 512 , and save.
That gives you a place receiving a 512 by 512 pixel image. Nothing captures into it yet, so no scenery appearing is fine.
Add a Scene Capture to the character
Open the character Blueprint you control ( BP_ThirdPersonCharacter in the standard template). Select "Capsule Component" in "Components", add Scene Capture Component 2D via "Add", and name it MinimapCapture .
Put it under the Capsule Component and not under the Mesh or Camera Boom. We want it to follow the player's position while not following body animation or the control camera's rotation.

Select MinimapCapture and set the following in "Details". The English names also work in the Details search.
| Setting | Value | Its role here |
|---|---|---|
| Location | Relative, X=0, Y=0, Z=1500 | Puts it about 15 m above the character |
| Rotation | World, X=0, Y=-90, Z=0 | Fixes the facing against the world, looking straight down |
| Projection Type | Orthographic | Captures without perspective |
| Ortho Width | 3000 | Shows a 30 m wide range |
| Texture Target | RT_Minimap | Where capture results are stored |
| Capture Source | Final Color (LDR) in RGB | Outputs color footage |
| Capture Every Frame | On | Update every frame first to confirm behavior |
Choose "World" in the menu beside the "Rotation" label before entering angles. X, Y, and Z are Roll, Pitch, and Yaw, and here we set Y (Pitch) to -90 degrees . Leave "Location" as Relative.
Relative is measured against the parent and World against the world. Only the position follows the parent while rotation stays fixed to the world, so the whole map does not rotate when the player turns.
Capture Source selects "what part of the capture is written into the image". We use Final Color, which bundles brightness and color for display. Rather than memorizing the LDR abbreviation, it is enough to note that it receives the scene's color rather than data such as depth.
Compile and Play, then check RT_Minimap 's preview. To operate the editor during Play, Shift + F1 returns mouse control. Ground and boxes seen from above appearing means capture and destination connect. If it is black, check the Texture Target specification, the capture direction, whether a roof or wall blocks it, and whether the level has lighting.
Separate capture range from image detail
Orthographic is a capture style where object size does not change with distance from the camera. It suits a minimap where you read the layout of paths and buildings from above.
Perspective , common in normal game views, makes distant things smaller. Use it for a security camera and similar, where you want the sense of viewing a place.
To widen the minimap, change MinimapCapture 's Ortho Width rather than the Render Target's size. That is the real-world width fitted into the image. In UE's standard units, 3000 is 30 m and 6000 is 60 m.

Stop Play, set Ortho Width to 6000 , and try again. Distant boxes become visible and the same box appears smaller on the minimap.
Meanwhile, leaving Ortho Width alone and setting RT_Minimap 's Size X and Size Y to 256 keeps the same visible range while making outlines coarser. Ortho Width is "how far it shows" and the Render Target's size is "how finely it draws". After checking, return to 3000 and 512×512 .
Put the captured footage in the screen corner
Footage now reaches the Render Target. Next we build a material passing its color to UI and set it on a Widget's Image. A Widget is a bundle of UI placed on screen , and an Image is the part within it that displays a picture.
Build a UI material
- Create and open a material
M_MinimapUI. - In Details, set "Material Domain" to User Interface and "Blend Mode" to Opaque .
- Drag
RT_Minimapfrom the Content Browser into the graph to place a Texture Sample node. - Connect Texture Sample's RGB output into the material's Final Color input , then apply and save.

RGB is the image's color. Opaque means "display without transparency", so we get a square minimap using color alone. We do not connect A (alpha), which represents transparency.
Place an Image in a Widget
Create WBP_Minimap from "User Interface → Widget Blueprint" in the Content Browser with User Widget as the parent. In "Designer", place a Canvas Panel at the root and add one Image as its child.

Select the Image and set the following in Details.
| Location | Setting |
|---|---|
| Slot (Canvas Panel Slot) → Anchors | The preset pinning to the top right |
| Alignment | X=1, Y=0 |
| Position | X=-20, Y=20 |
| Size | X=220, Y=220 |
| Brush → Image | M_MinimapUI |
| Color and Opacity | White, A=1 |
Anchors is where on screen it is positioned from and Alignment is which part of the Image aligns to that reference. With this combination, the Image's top right sits 20 left and 20 down from the screen's top right. Compile and save once set.
Display it at Play
Return to the character Blueprint and connect these four nodes in the Event Graph. If Event BeginPlay already exists, continue from that same event. BeginPlay fires when that character's game begins.

- Exec line:
Event BeginPlay→Create Widget→Add to Viewport Create Widget's Class:WBP_MinimapGet Player Controller(Player Index=0)'s Return Value →Create Widget's Owning PlayerCreate Widget's Return Value →Add to Viewport's Target
Owning Player specifies which player this UI belongs to. Here we retrieve the first player (Index=0) with Get Player Controller and pass it in.
Create Widget builds the actual thing to display and Add to Viewport puts it on the game screen. Return Value is the reference specifying the created Widget for the next node. The blueprint with an Image placed does not appear on screen by itself during Play.
Playing shows footage at the top right. Walking near a box brings that box toward the minimap's center. The boxes' orientation does not change when the player turns, and rotating the main view with the camera does not rotate the minimap.
Note that this is footage of the scene captured from above . A triangular player icon or markers highlighting enemies do not appear automatically. Characters visible from above are shown, but a mechanism overlaying readable symbols is added separately.
Switch to capturing every 0.1 seconds
With footage displaying, try the update frequency too. Scene Capture renders another viewpoint, so each capture adds processing. Cost varies with how much is shown and the resolution, though, so "two cameras means the whole game is twice as heavy" is not a rule.
A small minimap can meet its purpose without capturing every frame. Here we change to every 0.1 seconds, roughly ten times a second , and compare how motion reads.
Turn both automatic capture settings off
Turn both of these off in MinimapCapture 's Details.
| Setting | What happens when on |
|---|---|
| Capture Every Frame | Captures every frame |
| Capture on Movement | Updates when the capture component moves |

Our Scene Capture moves with the player. Turning off Capture Every Frame alone leaves movement-driven updates if Capture on Movement is on. To decide the interval with a timer, turn both off.
Build an event the timer calls
In the character's Event Graph, add a Custom Event UpdateMinimap you can invoke yourself. Drag MinimapCapture from Components into the graph and create Capture Scene from it.
Connect UpdateMinimap 's white exec output into Capture Scene and pass the MinimapCapture reference into Target. Capture Scene tells the specified Scene Capture to "capture once, now".
Then connect Set Timer by Event to the earlier Add to Viewport 's exec output with Time 0.1 and Looping on. Connect UpdateMinimap 's red delegate output into the red Event input.

A delegate here is "the specification of an event to call later". White lines carry execution order and red lines register the event for the timer to call — different roles.
Connecting Set Timer by Event 's white exec output into Capture Scene would only capture once, right after setting the timer. Put the repeating logic on UpdateMinimap's white output side as in the diagram. The Add to Viewport in the figure is the same node as in the previous section; there is no need to make another.
Looping specifies repetition. On, it calls UpdateMinimap every 0.1 seconds thereafter. Play, walk, and confirm the minimap keeps updating.
Tune speed, detail, and range separately
Setting the timer's Time to 0.5 once shows the footage following in visible steps. Returning to 0.1 and comparing conveys how update frequency affects the look.

Fewer updates increase the lag before the latest position appears and make fast motion look stepped. Lowering resolution makes small markers blur together. Rather than deciding "lowering it looks the same", confirm whether you can read what you need at the actual 220 by 220 display size .
When comparing cost, test per-frame capture and timer capture at the same place and viewpoint. Also look at how long one frame takes to draw, such as GPU in stat unit . Halving the resolution quarters the pixel count, but it does not quarter the whole game's processing time. How to read the numbers is covered in performance measurement basics.
Hands-On: display on an in-game security monitor
With the minimap working, the same idea builds a security monitor. What changes is mainly where you capture, how you capture, and what you paste it onto . First capture a corridor in the same test level so you can watch it through a monitor.

Place a fixed capture Actor
- Create a Render Target
RT_Securitywith Size X and Size Y at256. It is separate footage, so the destination is separate too. - Create a Blueprint
BP_SecurityCapturewith Actor as the parent, add a Scene Capture Component 2D, and name itSecurityCapture. - Set Texture Target to
RT_Security, Capture Source toFinal Color (LDR) in RGB, and Projection Type to Perspective . - Set FOV Angle to
90and turn Capture Every Frame on. We start with a smoothly updating state. - Place one
BP_SecurityCapturein the level and adjust its position and angle to look down at the corridor. Play and confirm the corridor appears inRT_Security's preview.
FOV is the horizontal angle the camera takes in. In Perspective, larger values show a wider area. The Ortho Width used for the minimap does not apply to this capture style.
Build a material for pasting the footage
Create a material M_SecurityScreen with Material Domain Surface , Blend Mode Opaque , and Shading Model Unlit . Turn "Two Sided" on too so the check plane is visible from both sides.
Drag RT_Security into the graph and connect Texture Sample's RGB into Emissive Color . Compared with the UI material, both the material's purpose and where color connects change.

Unlit displays the specified color without shading from lights hitting the plane. Here we pass the captured color into Emissive Color and use it as the monitor's footage. The final appearance is also influenced by the game view's exposure, so it will not necessarily match the main view's brightness exactly.
Paste it on a plane and confirm
Add "Shapes → Plane" to the level and assign M_SecurityScreen . Set Rotation X to 90 with Y and Z at 0 to stand the plane up and move it to a comfortable height. Keeping it square at first prevents the 256 by 256 footage from stretching. Adjust the plane's size with Scale.
Playing and looking at the plane shows the captured corridor. To also see the player walking that corridor, test from somewhere you can see both the plane and the capture area. Keeping the display plane itself out of the security camera's capture range avoids nested screen-within-a-screen footage.
To reduce the security footage's update rate, build the timer approach from the previous section into BP_SecurityCapture . Start Set Timer by Event from BeginPlay with the Custom Event named UpdateSecurity and Capture Scene's Target set to SecurityCapture . Use Time 0.2 , for instance, with Looping on. Turn both Capture Every Frame and Capture on Movement off here too.
Moving the camera to another room turns it into a device for checking enemies beyond a door in advance. To add more planes showing the same footage, they can share M_SecurityScreen . To show different places, prepare a separate capture camera and Render Target for each.
Bonus: good to know up front
It appears in the Render Target but not on screen
If footage appears in RT_Minimap 's preview, check M_MinimapUI and the Widget side next. Trace, in order, whether Material Domain is User Interface, whether RGB connects to Final Color, whether you chose that material for the Image's Brush, and whether Create Widget and Add to Viewport ran.
If you changed the Image's color or opacity while designing, return them to white and A=1 to check. Our material does not use the image's alpha and displays RGB alone.
An indoor minimap shows only the roof
Scene Capture is a camera too and does not automatically see through ceilings. To exclude specific Actors such as a roof from capture, Scene Capture's Hidden Actors works. When roof and floor are one Actor, though, that hides both, so how you split things must match what you hide.
If all you want is an indoor floor plan and enemy markers, overlaying icons on a prepared map image is another approach. Choose from the information you want to show, based on whether capturing 3D scenery every time is necessary.
Part of the footage is cut off or looks dark
Even with the camera's position and rotation correct, the clipping range deciding how near and far it draws and exposure settings can matter. When ground is cut off in Orthographic, check settings around Near/Far Clip Plane; when brightness does not match, check exposure on both the capture and display sides. Getting basic footage in a lit, open place before moving to your actual stage narrows the cause.
Reduce what does not need capturing
Scene Capture's Show Flags adjust which rendering elements, such as shadows, are included. Disabling things changes the footage itself, though. As with resolution and update frequency, compare one at a time while keeping the markers you need readable.
Summary
A Render Target is a receptacle for footage you can rewrite during the game. Capture with Scene Capture and pass its color to UI or a material, and it serves both a minimap and a security monitor.
Confirm in order: "it appears in the Render Target", "it displays on screen", and "it updates as you walk". Then change capture range, resolution, and update frequency one at a time to choose settings fitting the information you want to show.
Reference: Scene Capture Component 2D, Transform coordinate spaces, Creating and displaying widgets, Capture Scene, Set Timer by Event