Page Info
Skill Level:
Engine Version:
Related Pages

Utility Components

Application Lifecycle Component

The ApplicationLifecycleComponent handles receiving notifications from the OS (Operating System) about the application state (activated, suspended, termination, etc).

Platform Events Component

The PlatformEventComponent provides the ability to poll and and to receive events based on platform-specific OS information and events. Currently, this component supports convertible laptops, providing information about whether or not the platform is a convertible laptop, and what state it is in (laptop mode or tablet mode). In order to know when the platform changes state without constantly polling these functions, there are also delegates that can be bound to notify your code (or blueprints) when these state changes happen.

Child Actor Component

A ChildActorComponent is a Component that spawns an Actor when registered, and destroys it when unregistered.

Child Actor Components specify the Actor that will be spawned by providing a C++ class or a Blueprint asset. After selecting a class or asset, the Child Actor Template field will appear. This field can be expanded to edit any exposed, editable field of the specified child Actor or its components, including public variables being declared in Blueprints.


Scene Component

The SceneComponent has a transform and supports attachment, but has no rendering or collision capabilities. This is useful as a "dummy" Component in the hierarchy to offset others, or to interact with its child components as if they were all one, such as when moving or rotating them, making them all visible or invisible, or detaching them. It is important not to overuse Scene Components as organizational tools, since each one will add to the time and memory it takes to spawn the Actors that own them.

Arrow Component

An ArrowComponent is a Scene Component that features simple arrows drawn with lines to indicate the direction that it is facing. Arrow Components are especially useful for debugging things like the position and orientation of sockets. This is especially useful for things like clothing, hand-held or attached objects that may exist in your game, or gun muzzles where projectiles will be spawned. By default, these components are only visible in the Editor. If you want to see them in-game, be sure to uncheck the Hidden in Game checkbox in the Arrow component's Details panel.


In the following image, an Arrow Component has been attached to the Unreal Engine 4 mannequin's index_03_r bone, revealing that the bone is located at the final knuckle of the right-hand index finger, and is pointed back toward the second knuckle. If you want to attach a laser beam component to show where your character's fingertip is pointing, you should either add a socket that is slightly offset and rotated 180 degrees and then attach to that, or understand that when you attach your laser component, that it needs to be offset from the bone.


Spline Component

The Spline Component provides users with a way to draw splines within a level. This is particularly useful for designating paths for moving Actors, such as trains, background characters, or cameras. When placed in a level, an Actor with a Spline Component will show a point at the component's location with a line connecting it to a second point a short distance away. The line can be right-clicked to add a new point at the location of the click, while the point can be clicked to remove it (unless it is the only point), duplicate it, or change the curve leading from it to the next point in the spline. Using duplication will create a new point that sits at the same location as the current point, but is considered to be "after" it in the line. Spline points can be freely manipulated within the level using standard movement and rotation tools. There is also a field labeled Duration located in the component's Details panel, which acts as a range value for querying the spline.


There are three primary ways to query the spline:

  • By point index, where the spline can be asked for information like the location and rotation of any of the user-placed points along its length.

  • By distance, where the spline can be asked for information such as the rotation forward vector of the spline after traveling a set distance along it.

  • With "time", where the spline's length is replaced by a user-entered Duration value and can be queried for distance, location, and rotation information about the spline at a given "time" value. This third method is especially useful in the case of fixed objects like cameras moving along a track defined by a spline, since the designer or programmer can simply ask for the camera's location and rotation based on how long the camera has been moving along the spline. It is also easy to interpolate or blend along a spline by setting the duration to 1.0 and then providing an interpolation "alpha" value.

In the following image, the spline component could be used to move a "hint" marker, showing the player where to go.


Splines created by a Spline Component will never fork into multiple paths or contain loops or orphaned points. Splines are always single paths that contain each spline point exactly once.