Rendering Components

Atmospheric Fog Component

AtmosphericFogComponents are used to create fogging effects such as clouds or ambient fog in a level. There are several settings that can be adjusted for this Component that can affect how the effect is generated in your level when placed.

Examples of this type of Component in use with varying values for its Decay Height setting (which controls fog density decay height, ie. lower values cause the fog to be denser, while higher values thin the fog, causing less scatter) are portrayed below. For more information, see the Atmospheric Fog User Guide page.

Atmo0.5_4.png Atmo0.35_4.png
Density Decay Height of 0.5 (8 km) Density Decay Height of 0.35 (2.744 km)
Atmo1.0_4.png Atmo1.0_1.png
Density Decay Height of 1.0 (64 km) and Max Scattering of 4 Density Decay Height of 1.0 (64 km) and Max Scattering of 1

Exponential Height Fog Component

The ExponentialHeightFogComponent is used to create fog effects but with a density that is related to the height of the fog.

Exponential Height Fog creates more density in low places of a map and less density in high places. The transition is smooth so you never get a hard cutoff as you increase altitude. Exponential Height Fog also provides two fog colors, one for the hemisphere facing the dominant directional light (or straight up if none exists), and another color for the opposite hemisphere.


See Exponential Height Fog User Guide for more information and settings that can be adjusted.

Billboard Component

The BillboardComponent is a 2D Texture that will be rendered always facing the camera and functions similarly to an ArrowComponent in that it can be used for a method of placement and easy selection. For example in the fog sheet that was created below, the only Component added is a BillboardComponent (the actual fog effect is a material that is dynamically created through script).


Inside the level, you can manipulate the fog sheet by selecting the BillboardComponent icon (which is a texture that you can specify).


For an example of how this Fog Sheet was created, see the Fog Sheet and Light Beams documentation.

Material Billboard Component

The MaterialBillboardComponent is a 2D Material that will be rendered always facing the camera. One example of where this type of Component could be used is in the form of 2D grass or foliage. Rather than using Static Meshes to represent pockets of growing grass or even individual grass blades, using a MaterialBillboardComponent with a Material used to convey growing grass, there is no need to have a 3D representation of grass as the billboard will automatically turn and face the player giving the illusion of three dimensional grass.

Cable Component

A CableComponent allows you attach two Components together while rendering a cable between them. On the cable itself, you can assign a Material and define parameters that affect the way the cable is displayed. To read more about how to use the cable component, check out the link below.

Custom Mesh Component

The CustomMeshComponent allows you to specify custom triangle mesh geometry.

Poseable Mesh Component

The PoseableMeshComponent allows bone transforms to be driven by a Blueprint.

Decal Component

A DecalComponent is a material that is rendered onto the surface of a mesh (a kind of "bumper sticker" for a model). Decals can be used for any number of purposes, such as bullet impact decals on a wall when shot, a skid mark decal for a car that breaks along a road, blood that splatters on the ground when being shot, etc. (an example decal is provided below).


There are several pages you can refer to for more information on working with Decals.

Instanced Static Mesh Component

An InstancedStaticMeshComponent is a Component that efficiently renders multiple instances of the same Static Mesh. This type of Component is particularly useful for procedural level or room creation, as instead of placing hundreds (or even thousands) of Static Mesh Actors in your level, you can place one Instanced Static Mesh and add multiple instances of the Static Mesh (floors or walls for example) at a much lower performance cost.

See the Procedural Room Generation training stream on our Wiki for an example of working with InstancedStaticMesh Components and procedurally generating a random room.

Particle System Component

A ParticleSystemComponent allows you to add a particle emitter as a sub-object to another object. Adding a ParticleSystemComponent could be used for several reasons, from adding an explosion effect to something that gets destroyed to adding a fire effect to something you can set on fire. By adding this type of Component to another Object, through script you can access and set any of the parameters of the Particle Effect during gameplay (ie. turning the effect on or off).

For example, below we have a security camera and have added a ParticleSystemComponent for a spark effect.


Through script we could state that the spark effect is off by default, but activated when the camera is shot.


See Cascade Particle Systems for more information.

Post Process Component

PostProcessComponets enable Post Process controls for Blueprints. It will use a parent UShapeComponent to provide volume data if available. This type of Component could be used to shift the tone of your level, when Post Process Settings are applied to it. For example suppose you defined a default Post Process Setting to use for your game, when the player is damaged (or potentially killed), you could through script change the settings to a black/white tone for the Scene Color Tint.

For more information see the Post Processing Content Examples or Post Process Effects documentation.

Scene Capture 2D Component

The SceneCapture2DComponent is used to capture a "snapshot" of the scene from a single plane and feed it to a Render Target. There are settings for controlling the Field of View when capturing as well as specifying the Render Target texture (among other settings). An example of using this would be in the case of creating a mirror (shown below) or security camera view on a monitor (see Security Camera Switcher Button .)


Above we have created a Blueprint with a SceneCapture2DComponent and assigned a Render Target texture which was then used as a Material that we applied to the piece of geometry in the level. For more information, see Scene Capture 2D Content Example .

Scene Capture Cube Component

A SceneCaptureCubeComponent is used to capture a "snapshot" of the scene from 6 planes and feed it to a Render Target.


In most instances the SceneCapture2DComponent should accomplish most of your scene capturing needs, however in the event that you need a 3D capture of an environment you could use this type of Component. Be aware of your usage however as these are very expensive performance wise and should only be used when absolutely necessary. See the Reflections for more information on the different the methods that can be used to create reflections in your levels.

Spline Mesh Component

SplineMeshComponents can be used to stretch and bend a Static Mesh asset. With SplineMeshesComponents, you must provide vectors for the position and tangent for the start and end of the spline. Below, a SplineMeshComponent has been added to a Blueprint and a pipe Static Mesh has been assigned as the asset to affect.


While you specify the vectors for the position and tangent on the Component itself, you can use script to set these as variables and make them public so that they can be edited inside the Editor Viewport as seen below.


Above we can move the Start Transform and End Transform independently of moving the entire Actor, allowing us to stretch or rotate it as we desire. This example and setup can be found inside the Blueprint Splines Content Examples Content Examples map.

Text Render Component

A TextRenderComponent renders text in the world with the given font. Contains usual font related attributes such as Scale, Alignment, Color, etc. You might use this Component to indicate to a player that an object is intractable in your levels.

For example, suppose you had a chair in your level that players can sit down in when they approach it if they press a button. You could add a TextRenderComponent containing the instructions needed to execute the command of sitting (visibility set to off) along with a BoxComponent used as a trigger which will set visibility of the text to true when the player enters it (shown below).


In game when the player enters the trigger, the TextRenderComponent text is displayed informing the player how to sit.


Vector Field Component

A VectorFieldComponent is used for referencing a Vector Field which are 3D containers with a grid of velocity vectors that can be used to determine the velocity or acceleration of GPU sprites. Vector Fields can be used for small scale effects like wind gusts particle effects to large scale blizzards in your levels. See also Local Vector Fields and Global Vector Fields for more information.