UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSubtitleManager Class Reference

#include <SubtitleManager.h>

Public Member Functions

void KillAllSubtitles (void)
 
void KillSubtitles (PTRINT SubtitleID)
 
void TrimRegionToSafeZone (FCanvas *Canvas, FIntRect &InOutSubtitleRegion)
 
void SplitLinesToSafeZone (FCanvas *Canvas, FIntRect &SubtitleRegion)
 
PTRINT FindHighestPrioritySubtitle (float CurrentTime)
 
ENGINE_API void QueueSubtitles (PTRINT SubtitleID, float Priority, bool bManualWordWrap, bool bSingleLine, float SoundDuration, const TArray< FSubtitleCue > &Subtitles, float InStartTime, float InCurrentTime)
 
void DisplaySubtitle (FCanvas *Canvas, FActiveSubtitle *Subtitle, FIntRect &Parms, const FLinearColor &Color)
 
ENGINE_API void DisplaySubtitles (FCanvas *InCanvas, FIntRect &SubtitleRegion, float InAudioTimeSeconds)
 
bool HasSubtitles ()
 
float GetCurrentSubtitlesHeight ()
 
FSubtitleManagerSetSubtitleTextOnSetSubtitleText ()
 
void ENGINE_API SetMovieSubtitle (UObject *SubtitleOwner, const TArray< FString > &Subtitles)
 

Static Public Member Functions

static void QueueSubtitles (const FQueueSubtitleParams &QueueSubtitlesParams)
 
static ENGINE_API FSubtitleManagerGetSubtitleManager ()
 

Detailed Description

Subtitle manager. Handles prioritization and rendering of subtitles.

Member Function Documentation

◆ DisplaySubtitle()

void FSubtitleManager::DisplaySubtitle ( FCanvas Canvas,
FActiveSubtitle Subtitle,
FIntRect Parms,
const FLinearColor Color 
)

Draws a subtitle at the specified pixel location.

◆ DisplaySubtitles()

void FSubtitleManager::DisplaySubtitles ( FCanvas InCanvas,
FIntRect SubtitleRegion,
float  InAudioTimeSeconds 
)

Display the currently queued subtitles and cleanup after they have finished rendering.

Parameters
CanvasWhere to render the subtitles.
CurrentTimeCurrent world time.

◆ FindHighestPrioritySubtitle()

PTRINT FSubtitleManager::FindHighestPrioritySubtitle ( float  CurrentTime)

Find the highest priority subtitle from the list of currently active ones.

Parameters
CurrentTimeThe time at which to find the subtitle.
Returns
Found subtitle identifier.

◆ GetCurrentSubtitlesHeight()

float FSubtitleManager::GetCurrentSubtitlesHeight ( )
inline

Get the height of currently rendered subtitles.

Returns
Subtitle height (in pixels), or 0 if none are rendering.

◆ GetSubtitleManager()

FSubtitleManager * FSubtitleManager::GetSubtitleManager ( )
static

Get the subtitle manager singleton instance.

Returns
Subtitle manager.

◆ HasSubtitles()

bool FSubtitleManager::HasSubtitles ( )
inline

Whether there are any active subtitles.

Returns
true if there are any active subtitles, false otherwise.

◆ KillAllSubtitles()

void FSubtitleManager::KillAllSubtitles ( void  )

Kill all the subtitles.

◆ KillSubtitles()

void FSubtitleManager::KillSubtitles ( PTRINT  SubtitleID)

Kill specified subtitles.

Parameters
SubtitleIdIdentifier of the subtitles to kill.

◆ OnSetSubtitleText()

FSubtitleManagerSetSubtitleText & FSubtitleManager::OnSetSubtitleText ( )
inline

HACK: Returns the delegate for setting subtitle text

◆ QueueSubtitles() [1/2]

void FSubtitleManager::QueueSubtitles ( const FQueueSubtitleParams QueueSubtitlesParams)
static

◆ QueueSubtitles() [2/2]

void FSubtitleManager::QueueSubtitles ( PTRINT  SubtitleID,
float  Priority,
bool  bManualWordWrap,
bool  bSingleLine,
float  SoundDuration,
const TArray< FSubtitleCue > &  Subtitles,
float  InStartTime,
float  InCurrentTime 
)

Add an array of subtitles to the active list

Parameters
SubTitleIDThe controlling id that groups sets of subtitles together.
PriorityUsed to prioritize subtitles; higher values have higher priority. Subtitles with a priority 0.0f are not displayed.
StartTimeTime at which the subtitles start (in seconds).
SoundDurationTime after which the subtitles do not display (in seconds).
SubtitlesCollection of lines of subtitle and time offset to play them.

◆ SetMovieSubtitle()

void FSubtitleManager::SetMovieSubtitle ( UObject SubtitleOwner,
const TArray< FString > &  Subtitles 
)

HACK: Accept a movie subtitle and display it to all currently registered displays. This will not work with the old Canvas drawing system.

Parameters
SubtitleOwnerThe owner of the movie subtitle. If this is null, the subtitle will not be set
MovieSubtitlesThe subtitle text to display to all currently active displays

◆ SplitLinesToSafeZone()

void FSubtitleManager::SplitLinesToSafeZone ( FCanvas Canvas,
FIntRect SubtitleRegion 
)

If any of the active subtitles need to be split into multiple lines, do so now.

Note: This assumes the width of the subtitle region does not change while the subtitle is active.

◆ TrimRegionToSafeZone()

void FSubtitleManager::TrimRegionToSafeZone ( FCanvas Canvas,
FIntRect InOutSubtitleRegion 
)

Trim the SubtitleRegion to the safe 80% of the canvas.

Parameters
CanvasThe canvas to trim to.
InOutSubtitleRegionThe trim region.

The documentation for this class was generated from the following files: