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

#include <App.h>

Static Public Member Functions

static CORE_API FString GetBranchName ()
 
static CORE_API EBuildConfiguration GetBuildConfiguration ()
 
static CORE_API EBuildTargetType GetBuildTargetType ()
 
static CORE_API const TCHARGetBuildVersion ()
 
static CORE_API const TCHARGetBuildURL ()
 
static CORE_API const TCHARGetExecutingJobURL ()
 
static CORE_API bool GetIsWithDebugInfo ()
 
static CORE_API FString GetBuildDate ()
 
static CORE_API FString GetGraphicsRHI ()
 
static CORE_API void SetGraphicsRHI (FString RHIString)
 
static CORE_API int32 GetEngineIsPromotedBuild ()
 
static CORE_API FString GetEpicProductIdentifier ()
 
static FORCEINLINE const TCHARGetProjectName ()
 
static FString GetName ()
 
static FORCEINLINE bool HasProjectName ()
 
static FORCEINLINE bool IsGame ()
 
static FORCEINLINE bool IsProjectNameEmpty ()
 
static FORCEINLINE void SetProjectName (const TCHAR *InProjectName)
 
static FORCEINLINE void AuthorizeUser (const FString &UserName)
 
static FORCEINLINE void DenyAllUsers ()
 
static FORCEINLINE void DenyUser (const FString &UserName)
 
static CORE_API FString GetZenStoreProjectId (FStringView SubProject=FStringView())
 
static CORE_API FGuid GetInstanceId ()
 
static FString GetInstanceName ()
 
static FORCEINLINE FGuid GetSessionId ()
 
static CORE_API const FCbObjectIdGetSessionObjectId ()
 
static FORCEINLINE FString GetSessionName ()
 
static FORCEINLINE FString GetSessionOwner ()
 
static CORE_API void InitializeSession ()
 
static FORCEINLINE bool IsAuthorizedUser (const FString &UserName)
 
static FORCEINLINE bool IsStandalone ()
 
static FORCEINLINE bool IsThisInstance (const FGuid &InInstanceId)
 
static FORCEINLINE void SetSessionName (const FString &NewName)
 
static FORCEINLINE void SetSessionOwner (const FString &NewOwner)
 
static INLINE_CANEVERRENDER bool CanEverRender ()
 
static INLINE_CANEVERRENDER bool CanEverRenderOrProduceRenderData ()
 
static INLINE_CANEVERRENDER bool CanEverRenderAudio ()
 
static INLINE_CANEVERRENDER bool IsAudioMuted ()
 
static CORE_API bool IsInstalled ()
 
static CORE_API bool IsEngineInstalled ()
 
static CORE_API bool IsUnattended ()
 
static CORE_API bool AllowUnattendedInput ()
 
static CORE_API bool ShouldUseThreadingForPerformance ()
 
static CORE_API bool IsMultithreadServer ()
 
static FORCEINLINE bool IsBenchmarking ()
 
static void SetBenchmarking (bool bVal)
 
static FORCEINLINE double GetFixedDeltaTime ()
 
static void SetFixedDeltaTime (double Seconds)
 
static bool UseFixedTimeStep ()
 
static void SetUseFixedTimeStep (bool bVal)
 
static FORCEINLINE double GetCurrentTime ()
 
static void SetCurrentTime (double Seconds)
 
static FORCEINLINE double GetLastTime ()
 
static void UpdateLastTime ()
 
static FORCEINLINE double GetDeltaTime ()
 
static void SetDeltaTime (double Seconds)
 
static FORCEINLINE double GetIdleTime ()
 
static void SetIdleTime (double Seconds)
 
static FORCEINLINE double GetGameTime ()
 
static void SetGameTime (double Seconds)
 
static FORCEINLINE double GetIdleTimeOvershoot ()
 
static void SetIdleTimeOvershoot (double Seconds)
 
static CORE_API FTimecode GetTimecode ()
 
static CORE_API FFrameRate GetTimecodeFrameRate ()
 
static FORCEINLINE TOptional< FQualifiedFrameTimeGetCurrentFrameTime ()
 
static void SetTimecodeAndFrameRate (FTimecode InTimecode, FFrameRate InTimecodeFrameRate)
 
static void SetCurrentFrameTime (FQualifiedFrameTime InFrameTime)
 
static void InvalidateCurrentFrameTime ()
 
static FORCEINLINE float GetVolumeMultiplier ()
 
static FORCEINLINE void SetVolumeMultiplier (float InVolumeMultiplier)
 
static CORE_API float GetUnfocusedVolumeMultiplier ()
 
static CORE_API void SetUnfocusedVolumeMultiplier (float InVolumeMultiplier)
 
static CORE_API void SetUseVRFocus (bool bInUseVRFocus)
 
static FORCEINLINE bool UseVRFocus ()
 
static CORE_API void SetHasVRFocus (bool bInHasVRFocus)
 
static FORCEINLINE bool HasVRFocus ()
 
static CORE_API void SetHasFocusFunction (bool(*InHasFocusFunction)())
 
static CORE_API bool HasFocus ()
 
static CORE_API void PrintStartupLogMessages ()
 

Static Public Attributes

static CORE_API bool bUseFixedSeed = false
 

Detailed Description

Provides information about the application.

Member Function Documentation

◆ AllowUnattendedInput()

bool FApp::AllowUnattendedInput ( )
static

Checks whether this application allows unattended input.

Unattended applications usually are unable to receive user input. This method can be used to determine whether to allow input modules to initialize when unattended.

Returns
true if the application allows unattended input, false otherwise.

◆ AuthorizeUser()

static FORCEINLINE void FApp::AuthorizeUser ( const FString &  UserName)
inlinestatic

Add the specified user to the list of authorized session users.

Parameters
UserNameThe name of the user to add.
See also
DenyUser, DenyAllUsers, IsAuthorizedUser

◆ CanEverRender()

static INLINE_CANEVERRENDER bool FApp::CanEverRender ( )
inlinestatic

Checks whether this application can render anything. Certain application types never render, while for others this behavior may be controlled by switching to NullRHI. This can be used for decisions like omitting code paths that make no sense on servers or games running in headless mode (e.g. automated tests).

Returns
true if the application can render, false otherwise.

◆ CanEverRenderAudio()

static INLINE_CANEVERRENDER bool FApp::CanEverRenderAudio ( )
inlinestatic

Checks whether this application can render audio. Certain application types produce sound, while for others this can be controlled via the -nosound cmdline. This can be used for decisions like omitting code paths that make no sense on servers or games running in headless mode (e.g. automated tests).

Returns
true if the application can render audio, false otherwise.

◆ CanEverRenderOrProduceRenderData()

static INLINE_CANEVERRENDER bool FApp::CanEverRenderOrProduceRenderData ( )
inlinestatic

Checks whether this application can render anything or produce a derived data needed for rednering. Certain application types never render, but produce DDC used during rendering and as such need to step into some rendering paths.

A meaningful distinction from FApp::CanEverRender() is that commandlets like cooker will have FApp::CanEverRender() == false, but FApp::CanEverRenderOrProduceRenderData() == true. As such, this function can be used to guard paths that e.g. load assets' render data.

Returns
true if the application can render, false otherwise.

◆ DenyAllUsers()

static FORCEINLINE void FApp::DenyAllUsers ( )
inlinestatic

Removes all authorized users.

See also
AuthorizeUser, DenyUser, IsAuthorizedUser

◆ DenyUser()

static FORCEINLINE void FApp::DenyUser ( const FString &  UserName)
inlinestatic

Remove the specified user from the list of authorized session users.

Parameters
UserNameThe name of the user to remove.
See also
AuthorizeUser, DenyAllUsers, IsAuthorizedUser

◆ GetBranchName()

FString FApp::GetBranchName ( )
static

Gets the name of the version control branch that this application was built from.

Returns
The branch name.

◆ GetBuildConfiguration()

EBuildConfiguration FApp::GetBuildConfiguration ( )
static

Gets the application's build configuration, i.e. Debug or Shipping.

Returns
The build configuration.

◆ GetBuildDate()

FString FApp::GetBuildDate ( )
static

Gets the date at which this application was built.

Returns
Build date string.

◆ GetBuildTargetType()

EBuildTargetType FApp::GetBuildTargetType ( )
static

Gets the target type of the current application (eg. client, server, etc...)

Returns
The build target type

◆ GetBuildURL()

const TCHAR * FApp::GetBuildURL ( )
static

◆ GetBuildVersion()

const TCHAR * FApp::GetBuildVersion ( )
static

◆ GetCurrentFrameTime()

static FORCEINLINE TOptional< FQualifiedFrameTime > FApp::GetCurrentFrameTime ( )
inlinestatic

Gets a frame number generated by the engine's timecode provider. The current frame time is used to generate a timecode value. The optional will be false if no timecode provider was set or is not in a synchronized state.

Returns
the current frame time.

◆ GetCurrentTime()

static FORCEINLINE double FApp::GetCurrentTime ( )
inlinestatic

Gets current time in seconds.

Returns
Current time in seconds.

◆ GetDeltaTime()

static FORCEINLINE double FApp::GetDeltaTime ( )
inlinestatic

Gets time delta in seconds.

Returns
Time delta in seconds.

◆ GetEngineIsPromotedBuild()

int32 FApp::GetEngineIsPromotedBuild ( )
static

Gets the value of ENGINE_IS_PROMOTED_BUILD.

◆ GetEpicProductIdentifier()

FString FApp::GetEpicProductIdentifier ( )
static

Gets the identifier for the unreal engine

◆ GetExecutingJobURL()

const TCHAR * FApp::GetExecutingJobURL ( )
static

◆ GetFixedDeltaTime()

static FORCEINLINE double FApp::GetFixedDeltaTime ( )
inlinestatic

Gets time step in seconds if a fixed delta time is wanted.

Returns
Time step in seconds for fixed delta time.

◆ GetGameTime()

static FORCEINLINE double FApp::GetGameTime ( )
inlinestatic

Gets overall game time in seconds.

Returns
Overall game time in seconds.

◆ GetGraphicsRHI()

FString FApp::GetGraphicsRHI ( )
static

Gets the name of the graphics RHI currently in use.

Returns
name of Graphics RHI

◆ GetIdleTime()

static FORCEINLINE double FApp::GetIdleTime ( )
inlinestatic

Gets idle time in seconds.

Returns
Idle time in seconds.

◆ GetIdleTimeOvershoot()

static FORCEINLINE double FApp::GetIdleTimeOvershoot ( )
inlinestatic

Gets idle time overshoot in seconds (the time beyond the wait time we requested for the frame). Only valid when IdleTime is > 0.

Returns
Idle time in seconds.

◆ GetInstanceId()

FGuid FApp::GetInstanceId ( )
static

Gets the globally unique identifier of this application instance.

Every running instance of the engine has a globally unique instance identifier that can be used to identify it from anywhere on the network.

Returns
Instance identifier, or an invalid GUID if there is no local instance.
See also
GetSessionId

◆ GetInstanceName()

static FString FApp::GetInstanceName ( )
inlinestatic

Gets the name of this application instance.

By default, the instance name is a combination of the computer name and process ID.

Returns
Instance name string.

◆ GetIsWithDebugInfo()

bool FApp::GetIsWithDebugInfo ( )
static

◆ GetLastTime()

static FORCEINLINE double FApp::GetLastTime ( )
inlinestatic

Gets previous value of CurrentTime.

Returns
Previous value of CurrentTime.

◆ GetName()

static FString FApp::GetName ( )
inlinestatic

Gets the name of the application, i.e. "UE" or "Rocket".

Returns
Application name string.

◆ GetProjectName()

static FORCEINLINE const TCHAR * FApp::GetProjectName ( )
inlinestatic

Gets the name of the current project.

Returns
The project name.

◆ GetSessionId()

static FORCEINLINE FGuid FApp::GetSessionId ( )
inlinestatic

Gets the identifier of the session that this application is part of.

A session is group of applications that were launched and logically belong together. For example, when starting a new session in UFE that launches a game on multiple devices, all engine instances running on those devices will have the same session identifier. Conversely, sessions that were launched separately will have different session identifiers.

Returns
Session identifier, or an invalid GUID if there is no local instance.
See also
GetInstanceId

◆ GetSessionName()

static FORCEINLINE FString FApp::GetSessionName ( )
inlinestatic

Gets the name of the session that this application is part of, if any.

Returns
Session name string.

◆ GetSessionObjectId()

const FCbObjectId & FApp::GetSessionObjectId ( )
static

Gets the identifier of the session that this application is part of as a FCbObject.

Returns
Session identifier
See also
GetSessionId

◆ GetSessionOwner()

static FORCEINLINE FString FApp::GetSessionOwner ( )
inlinestatic

Gets the name of the user who owns the session that this application is part of, if any.

If this application is part of a session that was launched from UFE, this function will return the name of the user that launched the session. If this application is not part of a session, this function will return the name of the local user account under which the application is running.

Returns
Name of session owner.

◆ GetTimecode()

FTimecode FApp::GetTimecode ( )
static

Convert the current frame time into a readable timecode. If the current frame time is not set, the timecode value will be defaulted.

Returns
the current timecode.

◆ GetTimecodeFrameRate()

FFrameRate FApp::GetTimecodeFrameRate ( )
static

Get the frame rate of the current frame time. If the current frame time is not set, the frame rate value will be defaulted.

Returns
the current timecode frame rate.

◆ GetUnfocusedVolumeMultiplier()

float FApp::GetUnfocusedVolumeMultiplier ( )
static

Helper function to get UnfocusedVolumeMultiplier from config and store so it's not retrieved every frame

Returns
Volume multiplier to use when app loses focus

◆ GetVolumeMultiplier()

static FORCEINLINE float FApp::GetVolumeMultiplier ( )
inlinestatic

Get Volume Multiplier

Returns
Current volume multiplier

◆ GetZenStoreProjectId()

FString FApp::GetZenStoreProjectId ( FStringView  SubProject = FStringView())
static

Gets the Zen store project id for the current project file path.

Parameters
SubProjectAn optional subproject identifier (used for DLC).
Returns
Zen store project id.

◆ HasFocus()

bool FApp::HasFocus ( )
static

Gets Focus, Indicates that the application should continue to render Audio and Video as if it had window focus, even though it may not.

◆ HasProjectName()

static FORCEINLINE bool FApp::HasProjectName ( )
inlinestatic

Reports if the project name has been set

Returns
true if the project name has been set

◆ HasVRFocus()

static FORCEINLINE bool FApp::HasVRFocus ( )
inlinestatic

Gets VRFocus, which indicates that the application should continue to render Audio and Video as if it had window focus, even though it may not.

◆ InitializeSession()

void FApp::InitializeSession ( )
static

Initializes the application session.

◆ InvalidateCurrentFrameTime()

static void FApp::InvalidateCurrentFrameTime ( )
inlinestatic

Invalidate the current frame time. It will reset the TOptional.

◆ IsAudioMuted()

static INLINE_CANEVERRENDER bool FApp::IsAudioMuted ( )
inlinestatic

Checks whether this application should mute the audio output (-muteaudio) This is a safer alternative to -nosound for users who want to mute the audio of the game but keep the game rendering sound. Unless disabling the audio engine is the intention, this is a preferred method to mute the output as it avoid breaking audio analysis-dependent features (e.g. gameplay) and it prevents content creators from creating content with an incorrect performance and memory profile.

The mute is applied only in non-shipping builds and applied at the final step in the final output submix. Alternative method to do this it to enable the cvar, "au.MuteAudio 1"

Returns
true if the application will mute audio, false otherwise.

◆ IsAuthorizedUser()

static FORCEINLINE bool FApp::IsAuthorizedUser ( const FString &  UserName)
inlinestatic

Check whether the specified user is authorized to interact with this session.

Parameters
UserNameThe name of the user to check.
Returns
true if the user is authorized, false otherwise.
See also
AuthorizeUser, DenyUser, DenyAllUsers

◆ IsBenchmarking()

static FORCEINLINE bool FApp::IsBenchmarking ( )
inlinestatic

Checks whether application is in benchmark mode.

Returns
true if application is in benchmark mode, false otherwise.

◆ IsEngineInstalled()

bool FApp::IsEngineInstalled ( )
static

Checks whether the engine components of this application have been installed.

In binary Unreal Engine releases, the engine can be installed while the game is not. The game IsInstalled() setting will take precedence over this flag.

To override, pass -engineinstalled or -enginenotinstalled on the command line.

Returns
true if the engine is installed, false otherwise.

◆ IsGame()

static FORCEINLINE bool FApp::IsGame ( )
inlinestatic

Checks whether this application is a game.

Returns true if a normal or PIE game is active (basically !GIsEdit or || GIsPlayInEditorWorld) This must NOT be accessed on threads other than the game thread! Use View->Family->EnginShowFlags.Game on the rendering thread.

Returns
true if the application is a game, false otherwise.

◆ IsInstalled()

bool FApp::IsInstalled ( )
static

Checks whether this application has been installed.

Non-server desktop shipping builds are assumed to be installed.

Installed applications may not write to the folder in which they exist since they are likely in a system folder (like "Program Files" in windows). Instead, they should write to the OS-specific user folder FPlatformProcess::UserDir() or application data folder FPlatformProcess::ApplicationSettingsDir() User Access Control info for windows Vista and newer: http://en.wikipedia.org/wiki/User_Account_Control

To run an "installed" build without installing, use the -Installed command line parameter. To run a "non-installed" desktop shipping build, use the -NotInstalled command line parameter.

Returns
true if the application is installed, false otherwise.

◆ IsMultithreadServer()

bool FApp::IsMultithreadServer ( )
static

Returns if the application is a dedicated server and wants to be multi-threaded.

◆ IsProjectNameEmpty()

static FORCEINLINE bool FApp::IsProjectNameEmpty ( )
inlinestatic

Reports if the project name is empty

Returns
true if the project name is empty

◆ IsStandalone()

static FORCEINLINE bool FApp::IsStandalone ( )
inlinestatic

Checks whether this is a standalone application.

An application is standalone if it has not been launched as part of a session from UFE. If an application was launched from UFE, it is part of a session and not considered standalone.

Returns
true if this application is standalone, false otherwise.

◆ IsThisInstance()

static FORCEINLINE bool FApp::IsThisInstance ( const FGuid InInstanceId)
inlinestatic

Check whether the given instance ID identifies this instance.

Parameters
InInstanceIdThe instance ID to check.
Returns
true if the ID identifies this instance, false otherwise.

◆ IsUnattended()

bool FApp::IsUnattended ( )
static

Checks whether this application runs unattended.

Unattended applications are not monitored by anyone or are unable to receive user input. This method can be used to determine whether UI pop-ups or other dialogs should be shown.

Returns
true if the application runs unattended, false otherwise.

◆ PrintStartupLogMessages()

void FApp::PrintStartupLogMessages ( )
static

◆ SetBenchmarking()

static void FApp::SetBenchmarking ( bool  bVal)
inlinestatic

Sets application benchmarking mode.

Parameters
bValTrue sets application in benchmark mode, false sets to non-benchmark mode.

◆ SetCurrentFrameTime()

static void FApp::SetCurrentFrameTime ( FQualifiedFrameTime  InFrameTime)
inlinestatic

Sets the current frame time.

Parameters
InFrameTime- current frame time and frame rate.

◆ SetCurrentTime()

static void FApp::SetCurrentTime ( double  Seconds)
inlinestatic

Sets current time in seconds.

Parameters
seconds- Time in seconds.

◆ SetDeltaTime()

static void FApp::SetDeltaTime ( double  Seconds)
inlinestatic

Sets time delta in seconds.

Parameters
secondsTime in seconds.

◆ SetFixedDeltaTime()

static void FApp::SetFixedDeltaTime ( double  Seconds)
inlinestatic

Sets time step in seconds if a fixed delta time is wanted.

Parameters
secondsTime step in seconds for fixed delta time.

◆ SetGameTime()

static void FApp::SetGameTime ( double  Seconds)
inlinestatic

Sets overall game time in seconds.

Parameters
seconds- Overall game time in seconds.

◆ SetGraphicsRHI()

void FApp::SetGraphicsRHI ( FString  RHIString)
static

Sets the Graphics RHI currently in use

◆ SetHasFocusFunction()

void FApp::SetHasFocusFunction ( bool(*)()  InHasFocusFunction)
static

Sets HasFocus, which is a function that indicates that the application window has focus.

Parameters
InHasFocusFunctionaddress of a function that can query the focus state, typically &FPlatformApplicationMisc::IsThisApplicationForeground

◆ SetHasVRFocus()

void FApp::SetHasVRFocus ( bool  bInHasVRFocus)
static

Sets VRFocus, which indicates that the application should continue to render Audio and Video as if it had window focus, even though it may not.

Parameters
bInVRFocusnew VRFocus value

◆ SetIdleTime()

static void FApp::SetIdleTime ( double  Seconds)
inlinestatic

Sets idle time in seconds.

Parameters
seconds- Idle time in seconds.

◆ SetIdleTimeOvershoot()

static void FApp::SetIdleTimeOvershoot ( double  Seconds)
inlinestatic

Sets idle time overshoot in seconds (the time beyond the wait time we requested for the frame). Only valid when IdleTime is > 0.

Parameters
seconds- Idle time in seconds.

◆ SetProjectName()

static FORCEINLINE void FApp::SetProjectName ( const TCHAR InProjectName)
inlinestatic

Sets the name of the current project.

Parameters
InProjectNameName of the current project.

◆ SetSessionName()

static FORCEINLINE void FApp::SetSessionName ( const FString &  NewName)
inlinestatic

Set a new session name.

Parameters
NewNameThe new session name.
See also
SetSessionOwner

◆ SetSessionOwner()

static FORCEINLINE void FApp::SetSessionOwner ( const FString &  NewOwner)
inlinestatic

Set a new session owner.

Parameters
NewOwnerThe name of the new owner.
See also
SetSessionName

◆ SetTimecodeAndFrameRate()

static void FApp::SetTimecodeAndFrameRate ( FTimecode  InTimecode,
FFrameRate  InTimecodeFrameRate 
)
inlinestatic

Sets the current timecode, and the frame rate to which it's relative.

Parameters
InTimecode- current timecode.
InTimecodeFrameRate- current timecode framerate.

◆ SetUnfocusedVolumeMultiplier()

void FApp::SetUnfocusedVolumeMultiplier ( float  InVolumeMultiplier)
static

Sets the Unfocused Volume Multiplier

◆ SetUseFixedTimeStep()

static void FApp::SetUseFixedTimeStep ( bool  bVal)
inlinestatic

Enables or disabled usage of fixed time step.

Parameters
whetherto use fixed time step or not

◆ SetUseVRFocus()

void FApp::SetUseVRFocus ( bool  bInUseVRFocus)
static

Sets if VRFocus should be used.

Parameters
bInUseVRFocusnew bUseVRFocus value

◆ SetVolumeMultiplier()

static FORCEINLINE void FApp::SetVolumeMultiplier ( float  InVolumeMultiplier)
inlinestatic

Set Volume Multiplier

Parameters
InVolumeMultipliernew volume multiplier

◆ ShouldUseThreadingForPerformance()

bool FApp::ShouldUseThreadingForPerformance ( )
static

Checks whether the application should run multi-threaded for performance critical features.

This method is used for performance based threads (like rendering, task graph). This will not disable async IO or similar threads needed to disable hitching

Returns
true if this isn't a server, has more than one core, does not have a -onethread command line options, etc.

◆ UpdateLastTime()

static void FApp::UpdateLastTime ( )
inlinestatic

Updates Last time to CurrentTime.

◆ UseFixedTimeStep()

static bool FApp::UseFixedTimeStep ( )
inlinestatic

Gets whether we want to use a fixed time step or not.

Returns
True if using fixed time step, false otherwise.

◆ UseVRFocus()

static FORCEINLINE bool FApp::UseVRFocus ( )
inlinestatic

Gets if VRFocus should be used

Member Data Documentation

◆ bUseFixedSeed

bool FApp::bUseFixedSeed = false
static

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